diff --git a/.bowerrc b/.bowerrc
index 93896b8083..764e156e8a 100644
--- a/.bowerrc
+++ b/.bowerrc
@@ -1,3 +1,3 @@
{
- "directory" : "tmp-assets"
+ "directory" : "www/bower_components"
}
diff --git a/.gitignore b/.gitignore
index 7e22a7b5a2..ac144ce26c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@
# Exclude javascript dependencies folder
/www/assets
+/www/bower_components
/tmp-assets
# Exclude thumbnails folder
@@ -12,9 +13,6 @@
# Exclude node.js dependencies folder
/node_modules
-# Exclude compiled LESS folder
-/www/skins/build
-
# Exclude compiled javascript test fixture folder
/www/scripts/tests/fixtures
diff --git a/.travis.yml b/.travis.yml
index 563afcf4bd..1122bcca67 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -19,6 +19,7 @@ services:
- memcached
- redis
before_install:
+ - nvm install 0.12.0
- phpenv config-rm xdebug.ini
- composer self-update --no-progress --no-interaction
- sudo apt-get purge elasticsearch
@@ -34,8 +35,6 @@ before_install:
install:
- travis_retry npm install
- travis_retry composer install --optimize-autoloader --dev --prefer-source
- - travis_retry ./node_modules/.bin/grunt install-assets
- - "./bin/developer assets:compile-less"
before_script:
- mysql -e 'CREATE DATABASE update39_test;CREATE DATABASE ab_test;CREATE DATABASE db_test;SET @@global.sql_mode=STRICT_ALL_TABLES;SET @@global.max_allowed_packet=33554432;SET @@global.wait_timeout=999999;'
- "./bin/developer system:uninstall"
@@ -51,7 +50,7 @@ before_script:
- "./bin/developer phraseanet:regenerate-sqlite"
- "./bin/developer phraseanet:generate-js-fixtures"
script:
- - "./node_modules/.bin/grunt test"
+ - "./node_modules/.bin/gulp test"
- |
if [ "$TEST_SUITE" = "1" ]; then
"./bin/phpunit" "tests/classes/";
diff --git a/Gruntfile.js b/Gruntfile.js
deleted file mode 100644
index 4c51b28a5f..0000000000
--- a/Gruntfile.js
+++ /dev/null
@@ -1,438 +0,0 @@
-module.exports = function(grunt) {
- grunt.initConfig({
- "pkg": grunt.file.readJSON("package.json"),
- "path": {
- "bower": "tmp-assets",
- "asset": "www/assets"
- },
- mocha_phantomjs: {
- options: {
- 'reporter': 'dot',
- 'setting': [
- 'loadImages=false'
- ]
- },
- all: [
- 'www/scripts/tests/*.html'
- ]
- },
- qunit: {
- all: ['www/include/js/tests/*.html']
- },
- clean: {
- "assets": ["<%= path.asset %>"],
- "bower": ["<%= path.bower %>"]
- },
- bower: {
- install: {
- options: {
- "copy": false
- }
- }
- },
- bower_postinst: {
- dist: {
- options: {
- components: {
- "bootstrap": ["npm", {"make": "bootstrap"}]
- }
- }
- }
- },
- copy: {
- "autobahn": {
- "expand": true,
- "src": [
- "<%= path.bower %>/autobahn/index.js",
- ],
- "dest": "<%= path.asset %>/autobahn/",
- "flatten": true,
- "rename": function(dest, src) {
- return dest + "autobahn.js"
- }
- },
- "backbone": {
- "expand": true,
- "src": [
- "<%= path.bower %>/backbone-amd/LICENSE",
- "<%= path.bower %>/backbone-amd/backbone.js"
- ],
- "dest": "<%= path.asset %>/backbone-amd/",
- "flatten": true
- },
- "fancytree": {
- "expand": true,
- "src": [
- "dist/*",
- "dist/**/*"
- ],
- "cwd": "<%= path.bower %>/fancytree",
- "dest": "<%= path.asset %>/fancytree/"
- },
- "blueimp": {
- "expand": true,
- "src": "js/load-image.js",
- "dest": "<%= path.asset %>/blueimp-load-image/",
- "cwd": "<%= path.bower %>/blueimp-load-image",
- "flatten": true
- },
- "bootstrap": {
- "expand": true,
- "cwd": "<%= path.bower %>/bootstrap",
- "src": [
- "bootstrap/css/*",
- "bootstrap/js/*",
- "bootstrap/img/*",
- "less/*.less",
- "LICENSE"
- ],
- "rename": function(dest, src) {
- return dest + src.replace("bootstrap", "");
- },
- "dest": "<%= path.asset %>/bootstrap/"
- },
- "bootstrap-multiselect": {
- "expand": true,
- "cwd": "<%= path.bower %>/bootstrap-multiselect/dist",
- "src": [
- "css/bootstrap-multiselect.css",
- "js/bootstrap-multiselect.js"
- ],
- "dest": "<%= path.asset %>/bootstrap-multiselect/"
- },
- "chai": {
- "expand": true,
- "src": "<%= path.bower %>/chai/chai.js",
- "dest": "<%= path.asset %>/chai/",
- "flatten": true
- },
- "font-awesome": {
- "expand": true,
- "cwd": "<%= path.bower %>/font-awesome",
- "src": ["css/*", "font/*"],
- "dest": "<%= path.asset %>/font-awesome/"
- },
- "geonames-server-jquery-plugin": {
- "expand": true,
- "flatten": true,
- "src": [
- "<%= path.bower %>/geonames-server-jquery-plugin/LICENSE",
- "<%= path.bower %>/geonames-server-jquery-plugin/jquery.geonames.js"
- ],
- "dest": "<%= path.asset %>/geonames-server-jquery-plugin"
- }
- ,
- "humane-js": {
- "expand": true,
- "src": ["humane.js", "themes/libnotify.css"],
- "dest": "<%= path.asset %>/humane-js/",
- "cwd": "<%= path.bower %>/humane-js/"
- },
- "i18next": {
- "expand": true,
- "src": [
- "<%= path.bower %>/i18next/release/i18next.amd-1.6.3.js",
- "<%= path.bower %>/i18next/license"
- ],
- "dest": "<%= path.asset %>/i18next/",
- "flatten": true
- },
- "jquery": {
- "expand": true,
- "src": "<%= path.bower %>/jquery/jquery.js",
- "dest": "<%= path.asset %>/jquery/",
- "flatten": true
- },
- "jquery-galleria": {
- "expand": true,
- "src": [
- "<%= path.bower %>/jquery-galleria/src/galleria.js",
- "<%= path.bower %>/jquery-galleria/src/themes/classic/!(classic-demo.html)*",
- "<%= path.bower %>/jquery-galleria/LICENSE"
- ],
- "dest": "<%= path.asset %>/jquery-galleria/",
- "flatten": true
- },
- "jquery-file-upload": {
- "expand": true,
- "src": [
- "<%= path.bower %>/jquery-file-upload/js/vendor/*",
- "<%= path.bower %>/jquery-file-upload/js/jquery.fileupload.js",
- "<%= path.bower %>/jquery-file-upload/js/jquery.iframe-transport.js",
- "<%= path.bower %>/jquery-file-upload/css/jquery.fileupload-ui.css"
- ],
- "dest": "<%= path.asset %>/jquery-file-upload/",
- "flatten": true
- },
- "jquery.treeview": {
- "expand": true,
- "cwd": "<%= path.bower %>/jquery.treeview",
- "src": [
- "images/*",
- "jquery.treeview*"
- ],
- "dest": "<%= path.asset %>/jquery.treeview/"
- },
- "jquery-mobile": {
- "expand": true,
- "cwd": "<%= path.bower %>/jquery-mobile-bower/",
- "src": [
- "images/*",
- "css/jquery.mobile-1.3.2.css",
- "js/jquery.mobile-1.3.2.js"
- ],
- "flatten": true,
- "dest": "<%= path.asset %>/jquery-mobile/"
- },
- "jquery.cookie": {
- "expand": true,
- "cwd": "<%= path.bower %>/jquery.cookie",
- "src": [
- "jquery.cookie.js"
- ],
- "dest": "<%= path.asset %>/jquery.cookie/"
- },
- "jquery-ui": {
- "expand": true,
- "cwd": "<%= path.bower %>/jquery-ui",
- "src": [
- "ui/i18n/*",
- "ui/*",
- "themes/base/*",
- "themes/base/images/*",
- "MIT-LICENSE.txt"
- ],
- "rename": function(dest, src) {
- var dest = dest + src.replace("ui/", "/");
- return dest.replace("themes/base/", "/")
- },
- "dest": "<%= path.asset %>/jquery.ui/"
- },
- "js-fixtures": {
- "expand": true,
- "src": [
- "<%= path.bower %>/js-fixtures/LICENSE",
- "<%= path.bower %>/js-fixtures/fixtures.js"
- ],
- "dest": "<%= path.asset %>/js-fixtures/",
- "flatten": true
- },
- "json2": {
- "expand": true,
- "src": "<%= path.bower %>/json2/json2.js",
- "dest": "<%= path.asset %>/json2/",
- "flatten": true
- },
- "mocha": {
- "expand": true,
- "src": [
- "<%= path.bower %>/mocha/LICENSE",
- "<%= path.bower %>/mocha/mocha.js",
- "<%= path.bower %>/mocha/mocha.css"
- ],
- "dest": "<%= path.asset %>/mocha/",
- "flatten": true
- },
- "modernizr": {
- "expand": true,
- "src": "<%= path.bower %>/modernizr/modernizr.js",
- "dest": "<%= path.asset %>/modernizr/",
- "flatten": true
- },
- "normalize": {
- "expand": true,
- "src": [
- "<%= path.bower %>/normalize-css/normalize.css",
- "<%= path.bower %>/normalize-css/LICENSE.md"
- ],
- "dest": "<%= path.asset %>/normalize-css/",
- "flatten": true
- },
- "sinon-chai": {
- "expand": true,
- "src": [
- "<%= path.bower %>/sinon-chai/lib/sinon-chai.js",
- "<%= path.bower %>/sinon-chai/LICENCE.txt",
- ],
- "dest": "<%= path.asset %>/sinon-chai/",
- "flatten": true
- },
- "sinonjs": {
- "expand": true,
- "src": [
- "<%= path.bower %>/sinonjs/sinon.js"
- ],
- "dest": "<%= path.asset %>/sinonjs/",
- "flatten": true
- },
- "squire": {
- "expand": true,
- "src": [
- "<%= path.bower %>/squire/src/Squire.js",
- "<%= path.bower %>/squire/LICENCE"
- ],
- "dest": "<%= path.asset %>/squire/",
- "flatten": true
- },
- "qunit": {
- "expand": true,
- "src": [
- "qunit/qunit.css",
- "qunit/qunit.js",
- "addons/phantomjs/*"
- ],
- "dest": "<%= path.asset %>/qunit/",
- "cwd": "<%= path.bower %>/qunit/",
- "rename": function(dest, src) {
- return dest + src.replace("qunit", "");
- }
- },
- "requirejs": {
- "expand": true,
- "src": [
- "<%= path.bower %>/requirejs/LICENSE",
- "<%= path.bower %>/requirejs/require.js"
- ],
- "dest": "<%= path.asset %>/requirejs/",
- "flatten": true
- },
- "swfobject": {
- "expand": true,
- "src": "<%= path.bower %>/swfobject/swfobject/swfobject.js",
- "dest": "<%= path.asset %>/swfobject",
- "flatten": true
- },
- "tinymce": {
- "expand": true,
- "cwd": "<%= path.bower %>/tinymce/",
- "src": [
- "plugins/**",
- "skins/**",
- "themes/**",
- "*.js",
- "changelog.txt",
- "license.txt"
- ],
- "dest": "<%= path.asset %>/tinymce"
- },
- "underscore": {
- "expand": true,
- "src": [
- "<%= path.bower %>/underscore-amd/LICENSE",
- "<%= path.bower %>/underscore-amd/underscore.js"
- ],
- "dest": "<%= path.asset %>/underscore-amd/",
- "flatten": true
- },
- "zxcvbn": {
- "expand": true,
- "src": [
- "<%= path.bower %>/zxcvbn/LICENSE.txt",
- "<%= path.bower %>/zxcvbn/zxcvbn-async.js"
- ],
- "dest": "<%= path.asset %>/zxcvbn",
- "flatten": true
- }
- },
- csslint: {
- options: {
- // Possible Errors
- "box-model": false,
- "duplicate-properties": false,
- "empty-rules": false,
- "errors": false,
- "known-properties": false,
- "display-property-grouping": false,
- "non-link-hover": false,
- // Compatibility
- "adjoining-classes": false,
- "box-sizing": false,
- "compatible-vendor-prefixes": false,
- "gradients": false,
- "text-indent": false,
- "fallback-colors": false,
- "vendor-prefix": false,
- "star-property-hack": false,
- "underscore-property-hack": false,
- "bulletproof-font-face": false,
- // Performance
- "font-faces": false,
- "regex-selectors": false,
- "unqualified-attributes": false,
- "universal-selector": false,
- "zero-units": false,
- "overqualified-elements": false,
- "duplicate-background-images": false,
- "import": false,
- // Maintainability & Duplication
- "important": false,
- "floats": false,
- "font-sizes": false,
- "ids": false,
- // Accessibility
- "outline-none": false,
- // OOCSS
- "qualified-headings": false,
- "unique-headings": false,
- // Others
- "shorthand": false
- },
- all: {
- src: ['www/skins/**/*.css']
- }
- }
- });
-
- grunt.loadNpmTasks('grunt-contrib-clean');
- grunt.loadNpmTasks('grunt-contrib-copy');
- grunt.loadNpmTasks('grunt-contrib-qunit');
- grunt.loadNpmTasks('grunt-shell');
- grunt.loadNpmTasks("grunt-bower-task");
- grunt.loadNpmTasks("grunt-bower-postinst");
- grunt.loadNpmTasks('grunt-mocha-phantomjs');
-
- grunt.registerTask("copy-assets", [
- "copy:autobahn",
- "copy:backbone",
- "copy:blueimp",
- "copy:bootstrap",
- "copy:bootstrap-multiselect",
- "copy:chai",
- "copy:font-awesome",
- "copy:geonames-server-jquery-plugin",
- "copy:humane-js",
- "copy:i18next",
- "copy:jquery",
- "copy:jquery-galleria",
- "copy:jquery-file-upload",
- "copy:jquery-mobile",
- "copy:jquery.cookie",
- "copy:jquery-ui",
- "copy:jquery.treeview",
- "copy:json2",
- "copy:js-fixtures",
- "copy:fancytree",
- "copy:modernizr",
- "copy:normalize",
- "copy:normalize",
- "copy:qunit",
- "copy:mocha",
- "copy:requirejs",
- "copy:sinon-chai",
- "copy:sinonjs",
- "copy:squire",
- "copy:swfobject",
- "copy:tinymce",
- "copy:underscore",
- "copy:zxcvbn"
- ]);
- grunt.registerTask("install-assets", [
- "clean:assets",
- "bower",
- "bower_postinst",
- "copy-assets",
- "clean:bower"
- ]);
- // js fixtures should be present (./bin/developer phraseanet:generate-js-fixtures)
- grunt.registerTask('test', ["qunit", "mocha_phantomjs"]);
-};
diff --git a/Makefile b/Makefile
index d324352438..840ea663f0 100644
--- a/Makefile
+++ b/Makefile
@@ -4,9 +4,7 @@ install:
php bin/console system:clear-cache
npm install
composer install -o
- ./node_modules/.bin/grunt install-assets
php bin/console system:clear-cache
- php bin/developer assets:compile-less
config:
@php bin/console compile:configuration
diff --git a/bin/developer b/bin/developer
index 86fae9fce6..0f71e8e3d7 100755
--- a/bin/developer
+++ b/bin/developer
@@ -13,9 +13,7 @@ use Alchemy\Phrasea\CLI;
use Alchemy\Phrasea\Core\Version;
use Alchemy\Phrasea\Command\Developer\APIRoutesDumper;
use Alchemy\Phrasea\Command\Developer\Behat;
-use Alchemy\Phrasea\Command\Developer\BowerInstall;
use Alchemy\Phrasea\Command\Developer\ComposerInstall;
-use Alchemy\Phrasea\Command\Developer\LessCompiler;
use Alchemy\Phrasea\Command\Developer\IniReset;
use Alchemy\Phrasea\Command\Developer\InstallAll;
use Alchemy\Phrasea\Command\Developer\JsFixtures;
@@ -71,13 +69,11 @@ $cli = new CLI("
$cli->command(new TranslationDumper());
$cli->command(new InstallAll());
-$cli->command(new BowerInstall());
$cli->command(new ComposerInstall());
$cli->command(new RegenerateSqliteDb());
$cli->command(new APIRoutesDumper());
$cli->command(new RoutesDumper());
$cli->command(new Behat());
-$cli->command(new LessCompiler());
$cli->command(new Uninstaller());
$cli->command(new JsFixtures());
$cli->command(new IniReset());
diff --git a/bower.json b/bower.json
index 73df375a6a..357989f055 100644
--- a/bower.json
+++ b/bower.json
@@ -1,46 +1,44 @@
{
- "name": "Phraseanet",
- "version": "3.9.0",
- "dependencies": {
- "bootstrap": "2.3.2",
- "jquery": "~1.8.3",
- "jquery-ui": "~1.10.0",
- "jquery-mobile-bower": "~1.3.0",
- "underscore": "~1.4.4",
- "font-awesome": "~3.0.2",
- "modernizr": "~2.6.2",
- "normalize-css": "~2.1.0",
- "json2": "latest",
- "humane-js": "~3.0.6",
- "jquery-file-upload": "~8.3.2",
- "blueimp-load-image": "latest",
- "requirejs": "~2.1",
- "backbone-amd": "~1.0",
- "underscore-amd": "~1.4",
- "i18next": "~1.6",
- "bootstrap-multiselect": "v0.9",
- "zxcvbn": "https://github.com/lowe/zxcvbn.git",
- "geonames-server-jquery-plugin": "~0.2",
- "swfobject": "latest",
- "tinymce": "~4.0",
- "jquery-galleria": "1.2.9",
- "jquery.cookie": "~1.4",
- "autobahn": "http://autobahn.s3.amazonaws.com/js/autobahn.min.js",
- "when": "~2.7.0",
- "jquery.treeview": "1.4.1",
- "fancytree": "~2.7",
- "joyride": "https://github.com/zurb/joyride/archive/v2.0.0.zip"
- },
- "devDependencies": {
- "mocha": "latest",
- "sinonjs": "~1.7.0",
- "chai": "~1.6",
- "squire": "~0",
- "sinon-chai": "~2.5",
- "qunit": "https://github.com/jquery/qunit.git#1.11.0",
- "js-fixtures": "https://github.com/badunk/js-fixtures/archive/master.zip"
- },
- "resolutions": {
- "jquery": "1.8.3"
- }
-}
\ No newline at end of file
+ "name": "Phraseanet",
+ "version": "4.0.0",
+ "dependencies": {
+ "jquery": "~1.11.3",
+ "jquery-ui": "~1.10.4",
+ "jquery-mobile-bower": "~1.3.0",
+ "underscore": "~1.4.4",
+ "font-awesome": "~3.2.1",
+ "modernizr": "~2.8.3",
+ "normalize-css": "~2.1.3",
+ "json2": "latest",
+ "humane-js": "~3.0.6",
+ "jquery-file-upload": "~8.3.2",
+ "blueimp-load-image": "latest",
+ "requirejs": "~2.1",
+ "backbone-amd": "~1.0",
+ "underscore-amd": "~1.4",
+ "i18next": "~1.6",
+ "bootstrap-multiselect": "v0.9",
+ "zxcvbn": "https://github.com/lowe/zxcvbn.git",
+ "geonames-server-jquery-plugin": "~0.2",
+ "swfobject": "latest",
+ "tinymce": "~4.0",
+ "jquery-galleria": "1.2.9",
+ "jquery.cookie": "~1.4",
+ "fancytree": "~2.7",
+ "bootstrap-sass": "v2.3.2.2",
+ "jquery.lazyload": "~1.9.7",
+ "jquery-treeview": "~1.4.2"
+ },
+ "devDependencies": {
+ "mocha": "latest",
+ "sinonjs": "~1.7.0",
+ "chai": "~1.6",
+ "squire": "~0",
+ "sinon-chai": "~2.5",
+ "qunit": "https://github.com/jquery/qunit.git#1.11.0",
+ "js-fixtures": "https://github.com/badunk/js-fixtures/archive/master.zip"
+ },
+ "resolutions": {
+ "jquery": "~1.11.3"
+ }
+}
diff --git a/circle.yml b/circle.yml
index 5dffbf57bc..59626bd34a 100644
--- a/circle.yml
+++ b/circle.yml
@@ -8,6 +8,8 @@ general:
machine:
php:
version: 5.5.21
+ node:
+ version: 0.12.0
services:
- memcached
- redis
@@ -25,8 +27,6 @@ dependencies:
post:
- if [[ ! -e elasticsearch-1.6.0 ]]; then wget --no-check-certificate https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.6.0.tar.gz && tar -xvf elasticsearch-1.6.0.tar.gz && elasticsearch-1.6.0/bin/plugin install elasticsearch/elasticsearch-analysis-icu/2.6.0; fi
- elasticsearch-1.6.0/bin/elasticsearch: {background: true}
- - ./node_modules/.bin/grunt install-assets
- - "./bin/developer assets:compile-less"
database:
@@ -42,5 +42,5 @@ database:
test:
override:
- - case $CIRCLE_NODE_INDEX in 0) php -d memory_limit=-1 bin/phpunit --exclude-group legacy ;; 1) grunt test ;; 2) php -d memory_limit=-1 bin/phpunit --group legacy --exclude-group web ;; 3) php -d memory_limit=-1 bin/phpunit --group web ;; esac:
+ - case $CIRCLE_NODE_INDEX in 0) php -d memory_limit=-1 bin/phpunit --exclude-group legacy ;; 1) ./node_modules/.bin/gulp test ;; 2) php -d memory_limit=-1 bin/phpunit --group legacy --exclude-group web ;; 3) php -d memory_limit=-1 bin/phpunit --group web ;; esac:
parallel: true
diff --git a/config/configuration.sample.yml b/config/configuration.sample.yml
index 2dacef0004..098101f1a3 100644
--- a/config/configuration.sample.yml
+++ b/config/configuration.sample.yml
@@ -53,7 +53,6 @@ main:
ffprobe_binary: null
mp4box_binary: null
pdftotext_binary: null
- recess_binary: null
ffmpeg_timeout: 3600
ffprobe_timeout: 60
gs_timeout: 60
diff --git a/gulpfile.js b/gulpfile.js
new file mode 100644
index 0000000000..64ec31a3b6
--- /dev/null
+++ b/gulpfile.js
@@ -0,0 +1,18 @@
+'use strict';
+
+var gulp = require('gulp');
+var wrench = require('wrench');
+
+/**
+ * This will load all js or coffee files in the gulp directory
+ * in order to load all gulp tasks
+ */
+wrench.readdirSyncRecursive('./resources/gulp').filter(function(file) {
+ return (/\.(js)$/i).test(file);
+}).map(function(file) {
+ require('./resources/gulp/' + file);
+});
+
+
+gulp.task('default', ['install-assets']);
+
diff --git a/lib/Alchemy/Phrasea/CLI.php b/lib/Alchemy/Phrasea/CLI.php
index 52803b6463..10e869ec3b 100644
--- a/lib/Alchemy/Phrasea/CLI.php
+++ b/lib/Alchemy/Phrasea/CLI.php
@@ -20,7 +20,6 @@ use Symfony\Component\Console;
use Alchemy\Phrasea\Core\CLIProvider\CLIDriversServiceProvider;
use Alchemy\Phrasea\Core\CLIProvider\ComposerSetupServiceProvider;
use Alchemy\Phrasea\Core\CLIProvider\DoctrineMigrationServiceProvider;
-use Alchemy\Phrasea\Core\CLIProvider\LessBuilderServiceProvider;
use Alchemy\Phrasea\Core\CLIProvider\PluginServiceProvider;
use Alchemy\Phrasea\Core\CLIProvider\SignalHandlerServiceProvider;
use Alchemy\Phrasea\Core\CLIProvider\TaskManagerServiceProvider;
@@ -68,7 +67,6 @@ class CLI extends Application
$this->register(new PluginServiceProvider());
$this->register(new ComposerSetupServiceProvider());
$this->register(new CLIDriversServiceProvider());
- $this->register(new LessBuilderServiceProvider());
$this->register(new SignalHandlerServiceProvider());
$this->register(new TaskManagerServiceProvider());
$this->register(new TranslationExtractorServiceProvider());
diff --git a/lib/Alchemy/Phrasea/Command/Developer/BowerInstall.php b/lib/Alchemy/Phrasea/Command/Developer/BowerInstall.php
deleted file mode 100644
index c679ad0dec..0000000000
--- a/lib/Alchemy/Phrasea/Command/Developer/BowerInstall.php
+++ /dev/null
@@ -1,78 +0,0 @@
-setDescription('Installs bower dependencies')
- ->addOption('no-dev', 'd', InputOption::VALUE_NONE, 'Do not install dev dependencies')
- ->addOption('clear-cache', null, InputOption::VALUE_NONE, 'If defined forces to clear the cache before installation');
- }
-
- protected function doExecute(InputInterface $input, OutputInterface $output)
- {
- $grunt = $this->container['driver.grunt'];
- $grunt->getProcessBuilderFactory()->setTimeout(600);
-
- $bower = $this->container['driver.bower'];
-
- $output->writeln("Using ".$grunt->getProcessBuilderFactory()->getBinary()." for driver");
- $output->writeln("Using ".$bower->getProcessBuilderFactory()->getBinary()." for driver");
-
- $version = trim($bower->command('-v'));
-
- if (version::lt($version, '1.0.0-alpha.1')) {
- throw new RuntimeException(sprintf(
- 'Bower version 1.0.0-alpha.1 is required (version %s provided), please install bower-canary : `npm install -g bower-canary or run npm install from root directory`', $version
- ));
- }
-
- $version = trim($grunt->command('--version'));
-
- if (!version_compare('0.4.0', substr($version, -5), '<=')) {
- throw new RuntimeException(sprintf(
- 'Grunt version >= 0.4.0 is required (version %s provided), please install grunt `http://gruntjs.com/getting-started`', $version
- ));
- }
-
- if ($input->getOption('clear-cache')) {
- $output->write("Cleaning bower cache... ");
- $bower->command(['cache', 'clean']);
- $output->writeln("OK");
- }
-
- try {
- $output->write("Installing assets...");
- $grunt->command('install-assets');
- $output->write(" OK");
- $output->writeln("");
- $this->container['console']->get('assets:compile-less')->execute($input, $output);
- } catch (ExecutionFailureException $e) {
- throw new RuntimeException('Unable to install bower dependencies', $e->getCode(), $e);
- }
-
- return 0;
- }
-}
diff --git a/lib/Alchemy/Phrasea/Command/Developer/InstallAll.php b/lib/Alchemy/Phrasea/Command/Developer/InstallAll.php
index 8fc6c3c5b1..b3dc333d5a 100644
--- a/lib/Alchemy/Phrasea/Command/Developer/InstallAll.php
+++ b/lib/Alchemy/Phrasea/Command/Developer/InstallAll.php
@@ -34,7 +34,6 @@ class InstallAll extends Command
$ret = 0;
$ret += $this->container['console']->get('dependencies:composer')->execute($input, $output);
- $ret += $this->container['console']->get('dependencies:bower')->execute($input, $output);
return min($ret, 255);
}
diff --git a/lib/Alchemy/Phrasea/Command/Developer/LessCompiler.php b/lib/Alchemy/Phrasea/Command/Developer/LessCompiler.php
deleted file mode 100644
index 07391cb9c7..0000000000
--- a/lib/Alchemy/Phrasea/Command/Developer/LessCompiler.php
+++ /dev/null
@@ -1,45 +0,0 @@
-setDescription('Compiles Phraseanet LESS files');
- }
-
- /**
- * {@inheritdoc}
- */
- protected function doExecute(InputInterface $input, OutputInterface $output)
- {
- foreach ($this->container['phraseanet.less-assets'] as $source => $target) {
- $this->container['filesystem']->mkdir(dirname($target));
- $this->container['filesystem']->copy($source, $target);
- }
-
- $output->writeln('Building LESS assets');
- $this->container['phraseanet.less-builder']->build($this->container['phraseanet.less-mapping'], $output);
-
- return 0;
- }
-}
diff --git a/lib/Alchemy/Phrasea/Command/Developer/Utils/BowerDriver.php b/lib/Alchemy/Phrasea/Command/Developer/Utils/BowerDriver.php
deleted file mode 100644
index 48628daee3..0000000000
--- a/lib/Alchemy/Phrasea/Command/Developer/Utils/BowerDriver.php
+++ /dev/null
@@ -1,45 +0,0 @@
-get('bower.binaries', ['bower']);
-
- return static::load($binaries, $logger, $conf);
- }
-}
diff --git a/lib/Alchemy/Phrasea/Command/Developer/Utils/GruntDriver.php b/lib/Alchemy/Phrasea/Command/Developer/Utils/GruntDriver.php
deleted file mode 100644
index 51956c1cf1..0000000000
--- a/lib/Alchemy/Phrasea/Command/Developer/Utils/GruntDriver.php
+++ /dev/null
@@ -1,48 +0,0 @@
-get('grunt.binaries', ['grunt']);
-
- $driver = static::load($binaries, $logger, $conf);
- $driver->getProcessBuilderFactory()->getBuilder()->setWorkingDirectory(__DIR__.'/../../../../../..');
-
- return $driver;
- }
-}
diff --git a/lib/Alchemy/Phrasea/Command/Developer/Utils/RecessDriver.php b/lib/Alchemy/Phrasea/Command/Developer/Utils/RecessDriver.php
deleted file mode 100644
index f4e5db4abd..0000000000
--- a/lib/Alchemy/Phrasea/Command/Developer/Utils/RecessDriver.php
+++ /dev/null
@@ -1,45 +0,0 @@
-get('recess.binaries', ['recess']);
-
- return static::load($binaries, $logger, $conf);
- }
-}
diff --git a/lib/Alchemy/Phrasea/Command/Developer/Utils/UglifyJsDriver.php b/lib/Alchemy/Phrasea/Command/Developer/Utils/UglifyJsDriver.php
deleted file mode 100644
index cf6a0f5b88..0000000000
--- a/lib/Alchemy/Phrasea/Command/Developer/Utils/UglifyJsDriver.php
+++ /dev/null
@@ -1,45 +0,0 @@
-get('uglifyjs.binaries', ['uglifyjs']);
-
- return static::load($binaries, $logger, $conf);
- }
-}
diff --git a/lib/Alchemy/Phrasea/Command/Plugin/AbstractPluginCommand.php b/lib/Alchemy/Phrasea/Command/Plugin/AbstractPluginCommand.php
index c12bc83ca6..915054c24b 100644
--- a/lib/Alchemy/Phrasea/Command/Plugin/AbstractPluginCommand.php
+++ b/lib/Alchemy/Phrasea/Command/Plugin/AbstractPluginCommand.php
@@ -50,9 +50,5 @@ abstract class AbstractPluginCommand extends Command
$output->write("Updating config files...");
$this->container['plugins.autoloader-generator']->write($manifests);
$output->writeln(" OK");
-
- $output->write('Building LESS assets ...');
- $this->container['phraseanet.less-builder']->build($this->container['phraseanet.less-mapping.customizable']);
- $output->writeln(" OK");
}
}
diff --git a/lib/Alchemy/Phrasea/Command/Setup/Install.php b/lib/Alchemy/Phrasea/Command/Setup/Install.php
index 51557641ef..6b2ecabad9 100644
--- a/lib/Alchemy/Phrasea/Command/Setup/Install.php
+++ b/lib/Alchemy/Phrasea/Command/Setup/Install.php
@@ -311,7 +311,6 @@ class Install extends Command
'mp4box_binary' => $this->executableFinder->find('MP4Box'),
'pdftotext_binary' => $this->executableFinder->find('pdftotext'),
'ghostscript_binary' => $this->executableFinder->find('gs'),
- 'recess_binary' => $this->executableFinder->find('recess'),
];
}
}
diff --git a/lib/Alchemy/Phrasea/Controller/Admin/DataboxesController.php b/lib/Alchemy/Phrasea/Controller/Admin/DataboxesController.php
index c1d82d0270..acbc607744 100644
--- a/lib/Alchemy/Phrasea/Controller/Admin/DataboxesController.php
+++ b/lib/Alchemy/Phrasea/Controller/Admin/DataboxesController.php
@@ -37,7 +37,7 @@ class DataboxesController extends Controller
foreach ($sbasIds as $sbasId) {
$sbas[$sbasId] = [
'version' => 'unknown',
- 'image' => '/skins/icons/db-remove.png',
+ 'image' => '/assets/common/images/icons/db-remove.png',
'server_info' => '',
'name' => $this->app->trans('Unreachable server')
];
@@ -49,7 +49,7 @@ class DataboxesController extends Controller
$pdoConnection = $databox->get_connection()->getWrappedConnection();
$sbas[$sbasId] = [
'version' => $databox->get_version(),
- 'image' => '/skins/icons/foldph20close_0.gif',
+ 'image' => '/assets/common/images/icons/foldph20close_0.gif',
'server_info' => $pdoConnection->getAttribute(\PDO::ATTR_SERVER_VERSION),
'name' => \phrasea::sbas_labels($sbasId, $this->app)
];
diff --git a/lib/Alchemy/Phrasea/Controller/Api/V1Controller.php b/lib/Alchemy/Phrasea/Controller/Api/V1Controller.php
index f783e52787..39c91128b6 100644
--- a/lib/Alchemy/Phrasea/Controller/Api/V1Controller.php
+++ b/lib/Alchemy/Phrasea/Controller/Api/V1Controller.php
@@ -323,7 +323,6 @@ class V1Controller extends Controller
'ffprobe' => isset($binaries['ffprobe_binary']) ? $binaries['ffprobe_binary'] : null,
'mp4box' => isset($binaries['mp4box_binary']) ? $binaries['mp4box_binary'] : null,
'pdftotext' => isset($binaries['pdftotext_binary']) ? $binaries['pdftotext_binary'] : null,
- 'recess' => isset($binaries['recess_binary']) ? $binaries['recess_binary'] : null,
'pdfmaxpages' => $conf->get(['registry', 'executables', 'pdf-max-pages']),
],
'mainConfiguration' => [
diff --git a/lib/Alchemy/Phrasea/Controller/Prod/QueryController.php b/lib/Alchemy/Phrasea/Controller/Prod/QueryController.php
index 1a1d772ac1..699005249f 100644
--- a/lib/Alchemy/Phrasea/Controller/Prod/QueryController.php
+++ b/lib/Alchemy/Phrasea/Controller/Prod/QueryController.php
@@ -138,7 +138,7 @@ class QueryController extends Controller
$explain = "
";
- $explain .= "
";
+ $explain .= "
";
if ($result->getTotal() != $result->getAvailable()) {
$explain .= $this->app->trans('reponses:: %available% Resultats rappatries sur un total de %total% trouves', ['available' => $result->getAvailable(), '%total%' => $result->getTotal()]);
diff --git a/lib/Alchemy/Phrasea/Controller/Prod/RootController.php b/lib/Alchemy/Phrasea/Controller/Prod/RootController.php
index 99c550051d..ab69ef86b4 100644
--- a/lib/Alchemy/Phrasea/Controller/Prod/RootController.php
+++ b/lib/Alchemy/Phrasea/Controller/Prod/RootController.php
@@ -45,7 +45,7 @@ class RootController extends Controller
return $this->app->redirectPath('logout');
}
- $cssPath = $this->app['root.path'] . '/www/skins/prod/';
+ $cssPath = $this->app['root.path'] . '/www/assets/prod/skins';
$css = [];
diff --git a/lib/Alchemy/Phrasea/Controller/SetupController.php b/lib/Alchemy/Phrasea/Controller/SetupController.php
index c45c07ede5..af89540ef9 100644
--- a/lib/Alchemy/Phrasea/Controller/SetupController.php
+++ b/lib/Alchemy/Phrasea/Controller/SetupController.php
@@ -169,7 +169,6 @@ class SetupController extends Controller
'ffmpeg_binary' => $request->request->get('binary_ffmpeg'),
'mp4box_binary' => $request->request->get('binary_MP4Box'),
'pdftotext_binary' => $request->request->get('binary_xpdf'),
- 'recess_binary' => $request->request->get('binary_recess'),
] as $key => $path) {
$binaryData[$key] = $path;
}
diff --git a/lib/Alchemy/Phrasea/Core/CLIProvider/CLIDriversServiceProvider.php b/lib/Alchemy/Phrasea/Core/CLIProvider/CLIDriversServiceProvider.php
index 9f9c4a331c..148d0db870 100644
--- a/lib/Alchemy/Phrasea/Core/CLIProvider/CLIDriversServiceProvider.php
+++ b/lib/Alchemy/Phrasea/Core/CLIProvider/CLIDriversServiceProvider.php
@@ -11,11 +11,7 @@
namespace Alchemy\Phrasea\Core\CLIProvider;
-use Alchemy\Phrasea\Command\Developer\Utils\BowerDriver;
use Alchemy\Phrasea\Command\Developer\Utils\ComposerDriver;
-use Alchemy\Phrasea\Command\Developer\Utils\GruntDriver;
-use Alchemy\Phrasea\Command\Developer\Utils\RecessDriver;
-use Alchemy\Phrasea\Command\Developer\Utils\UglifyJsDriver;
use Alchemy\Phrasea\Exception\RuntimeException;
use Silex\Application;
use Silex\ServiceProviderInterface;
@@ -47,26 +43,6 @@ class CLIDriversServiceProvider implements ServiceProviderInterface
return $app['executable-finder']->find($name, null, $extraDirs);
});
- $app['driver.bower'] = $app->share(function (Application $app) {
- $bowerBinary = $app['driver.binary-finder']('bower', 'bower_binary');
-
- if (null === $bowerBinary) {
- throw new RuntimeException('Unable to find bower executable.');
- }
-
- return BowerDriver::create(['bower.binaries' => $bowerBinary, 'timeout' => 300], $app['monolog']);
- });
-
- $app['driver.recess'] = $app->share(function (Application $app) {
- $recessBinary = $app['driver.binary-finder']('recess', 'recess_binary');
-
- if (null === $recessBinary) {
- throw new RuntimeException('Unable to find recess executable.');
- }
-
- return RecessDriver::create(['recess.binaries' => $recessBinary], $app['monolog']);
- });
-
$app['driver.composer'] = $app->share(function (Application $app) {
$composerBinary = $app['driver.binary-finder']('composer', 'composer_binary');
@@ -76,26 +52,6 @@ class CLIDriversServiceProvider implements ServiceProviderInterface
return ComposerDriver::create(['composer.binaries' => $composerBinary, 'timeout' => 300], $app['monolog']);
});
-
- $app['driver.uglifyjs'] = $app->share(function (Application $app) {
- $uglifyJsBinary = $app['driver.binary-finder']('uglifyjs', 'uglifyjs_binary');
-
- if (null === $uglifyJsBinary) {
- throw new RuntimeException('Unable to find uglifyJs executable.');
- }
-
- return UglifyJsDriver::create(['uglifyjs.binaries' => $uglifyJsBinary], $app['monolog']);
- });
-
- $app['driver.grunt'] = $app->share(function (Application $app) {
- $gruntBinary = $app['driver.binary-finder']('grunt', 'grunt_binary');
-
- if (null === $gruntBinary) {
- throw new RuntimeException('Unable to find grunt executable.');
- }
-
- return GruntDriver::create(['grunt.binaries' => $gruntBinary], $app['monolog']);
- });
}
public function boot(Application $app)
diff --git a/lib/Alchemy/Phrasea/Core/CLIProvider/LessBuilderServiceProvider.php b/lib/Alchemy/Phrasea/Core/CLIProvider/LessBuilderServiceProvider.php
deleted file mode 100644
index 88696f0ccf..0000000000
--- a/lib/Alchemy/Phrasea/Core/CLIProvider/LessBuilderServiceProvider.php
+++ /dev/null
@@ -1,60 +0,0 @@
-share(function ($app) {
- return [
- $app['root.path'] . '/www/assets/bootstrap/img/glyphicons-halflings-white.png' => $app['root.path'] . '/www/skins/build/bootstrap/img/glyphicons-halflings-white.png',
- $app['root.path'] . '/www/assets/bootstrap/img/glyphicons-halflings.png' => $app['root.path'] . '/www/skins/build/bootstrap/img/glyphicons-halflings.png',
- ];
- });
-
- $app['phraseanet.less-mapping.base'] = $app->share(function ($app) {
- return [];
- });
-
- $app['phraseanet.less-mapping.customizable'] = $app->share(function ($app) {
- return [
- $app['root.path'] . '/www/skins/login/less/login.less' => $app['root.path'] . '/www/assets/build/login.css',
- $app['root.path'] . '/www/skins/account/less/account.less' => $app['root.path'] . '/www/assets/build/account.css',
- ];
- });
-
- $app['phraseanet.less-mapping'] = $app->share(function ($app) {
- return array_merge(
- $app['phraseanet.less-mapping.base'],
- $app['phraseanet.less-mapping.customizable']
- );
- });
-
- $app['phraseanet.less-compiler'] = $app->share(function ($app) {
- return new LessCompiler($app['filesystem'], $app['driver.recess']);
- });
-
- $app['phraseanet.less-builder'] = $app->share(function ($app) {
- return new LessBuilder($app['phraseanet.less-compiler'], $app['filesystem']);
- });
- }
-
- public function boot(Application $app)
- {
- }
-}
diff --git a/lib/Alchemy/Phrasea/Core/PhraseaExceptionHandler.php b/lib/Alchemy/Phrasea/Core/PhraseaExceptionHandler.php
index 4e3f6800e5..15d193b59d 100644
--- a/lib/Alchemy/Phrasea/Core/PhraseaExceptionHandler.php
+++ b/lib/Alchemy/Phrasea/Core/PhraseaExceptionHandler.php
@@ -110,25 +110,25 @@ class PhraseaExceptionHandler extends SymfonyExceptionHandler
switch ($exception->getStatusCode()) {
case 403:
- $errorImg = '/skins/error-pages/403.png';
+ $errorImg = '/assets/common/images/error-pages/403.png';
break;
case 404:
- $errorImg = '/skins/error-pages/404.png';
+ $errorImg = '/assets/common/images/error-pages/404.png';
break;
case 500:
- $errorImg = '/skins/error-pages/500.png';
+ $errorImg = '/assets/common/images/error-pages/500.png';
break;
case 503:
- $errorImg = '/skins/error-pages/503.png';
+ $errorImg = '/assets/common/images/error-pages/503.png';
break;
default:
- $errorImg = '/skins/error-pages/error.png';
+ $errorImg = '/assets/common/images/error-pages/error.png';
break;
}
return <<doWrite('services.php', $this->createServices($manifests))
->doWrite('commands.php', $this->createCommands($manifests))
->doWrite('twig-paths.php', $this->createTwigPathsMap($manifests))
- ->doWrite('login.less', $this->createLoginLess($manifests))
- ->doWrite('account.less', $this->createAccountLess($manifests));
+ ->doWrite('login.scss', $this->createLoginStylesheet($manifests))
+ ->doWrite('account.scss', $this->createAccountStylesheet($manifests));
return $this;
}
@@ -40,16 +40,16 @@ class AutoloaderGenerator
* @param Manifest[] $manifests
* @return string
*/
- private function createLoginLess($manifests)
+ private function createLoginStylesheet($manifests)
{
$buffer = <<pluginDirectory . DIRECTORY_SEPARATOR . $manifest->getName() . DIRECTORY_SEPARATOR . 'less' . DIRECTORY_SEPARATOR . 'login.less';
+ $filepath = $this->pluginDirectory . DIRECTORY_SEPARATOR . $manifest->getName() . DIRECTORY_SEPARATOR . 'scss' . DIRECTORY_SEPARATOR . 'login.scss';
if (is_file($filepath)) {
- $relativePath = $manifest->getName() . DIRECTORY_SEPARATOR . 'less' . DIRECTORY_SEPARATOR . 'login.less';
+ $relativePath = $manifest->getName() . DIRECTORY_SEPARATOR . 'scss' . DIRECTORY_SEPARATOR . 'login.scss';
$buffer .= <<pluginDirectory . DIRECTORY_SEPARATOR . $manifest->getName() . DIRECTORY_SEPARATOR . 'less' . DIRECTORY_SEPARATOR . 'account.less';
+ $filepath = $this->pluginDirectory . DIRECTORY_SEPARATOR . $manifest->getName() . DIRECTORY_SEPARATOR . 'scss' . DIRECTORY_SEPARATOR . 'account.scss';
if (is_file($filepath)) {
- $relativePath = $manifest->getName() . DIRECTORY_SEPARATOR . 'less' . DIRECTORY_SEPARATOR . 'account.less';
+ $relativePath = $manifest->getName() . DIRECTORY_SEPARATOR . 'scss' . DIRECTORY_SEPARATOR . 'account.scss';
$buffer .= << isset($binaries['pdftotext_binary']) ? $binaries['pdftotext_binary'] : null,
'ffmpeg_binary' => isset($binaries['ffmpeg_binary']) ? $binaries['ffmpeg_binary'] : null,
'ffprobe_binary' => isset($binaries['ffprobe_binary']) ? $binaries['ffprobe_binary'] : null,
- 'recess_binary' => isset($binaries['recess_binary']) ? $binaries['recess_binary'] : null,
]));
}
diff --git a/lib/Alchemy/Phrasea/Setup/Requirements/BinariesRequirements.php b/lib/Alchemy/Phrasea/Setup/Requirements/BinariesRequirements.php
index 4c1c32b8a6..a397757bee 100644
--- a/lib/Alchemy/Phrasea/Setup/Requirements/BinariesRequirements.php
+++ b/lib/Alchemy/Phrasea/Setup/Requirements/BinariesRequirements.php
@@ -215,13 +215,5 @@ class BinariesRequirements extends RequirementCollection implements RequirementI
'FFProbe (or avprobe) is required for Video processing',
'Please install FFProbe (or avprobe)'
);
-
- $recess = isset($binaries['recess_binary']) ? $binaries['recess_binary'] : $finder->find('recess');
-
- $this->addRecommendation(
- null !== $recess && is_executable($recess),
- 'Recess is required for compiling css or less files.',
- 'Please install Recess (https://github.com/twitter/recess)'
- );
}
}
diff --git a/lib/Alchemy/Phrasea/TaskManager/Job/ArchiveJob.php b/lib/Alchemy/Phrasea/TaskManager/Job/ArchiveJob.php
index 29376a82b6..d50febcd83 100644
--- a/lib/Alchemy/Phrasea/TaskManager/Job/ArchiveJob.php
+++ b/lib/Alchemy/Phrasea/TaskManager/Job/ArchiveJob.php
@@ -843,7 +843,7 @@ class ArchiveJob extends AbstractJob
if (!($rep = $node->getAttribute('grp_representation'))) {
try {
- $app['filesystem']->copy($app['root.path'] . '/www/skins/icons/substitution/regroup_doc.png', $genericdoc = ($path . '/group.jpg'), true);
+ $app['filesystem']->copy($app['root.path'] . '/www/assets/common/images/icons/substitution/regroup_doc.png', $genericdoc = ($path . '/group.jpg'), true);
} catch (IOException $e) {
$this->log('debug', $e->getMessage());
}
diff --git a/lib/Alchemy/Phrasea/Twig/PhraseanetExtension.php b/lib/Alchemy/Phrasea/Twig/PhraseanetExtension.php
index d0484d545a..a7077f6696 100644
--- a/lib/Alchemy/Phrasea/Twig/PhraseanetExtension.php
+++ b/lib/Alchemy/Phrasea/Twig/PhraseanetExtension.php
@@ -187,7 +187,7 @@ class PhraseanetExtension extends \Twig_Extension
{
$src = $title = '';
if ($record->isStory()) {
- $src = '/skins/icons/icon_story.gif';
+ $src = '/assets/common/images/icons/icon_story.gif';
$title = $this->app['translator']->trans('reportage');
return sprintf('
', $src, $title);
@@ -195,23 +195,23 @@ class PhraseanetExtension extends \Twig_Extension
switch ($record->getType()) {
case 'image':
- $src = '/skins/icons/icon_image.png';
+ $src = '/assets/common/images/icons/icon_image.png';
$title = $this->app['translator']->trans('image');
break;
case 'document':
- $src = '/skins/icons/icon_document.png';
+ $src = '/assets/common/images/icons/icon_document.png';
$title = $this->app['translator']->trans('document');
break;
case 'video':
- $src = '/skins/icons/icon_video.png';
+ $src = '/assets/common/images/icons/icon_video.png';
$title = $this->app['translator']->trans('reportage');
break;
case 'audio':
- $src = '/skins/icons/icon_audio.png';
+ $src = '/assets/common/images/icons/icon_audio.png';
$title = $this->app['translator']->trans('audio');
break;
case 'flash':
- $src = '/skins/icons/icon_flash.png';
+ $src = '/assets/common/images/icons/icon_flash.png';
$title = $this->app['translator']->trans('flash');
break;
}
@@ -249,7 +249,7 @@ class PhraseanetExtension extends \Twig_Extension
}
}
- $path = sprintf('/skins/icons/substitution/%s.png',
+ $path = sprintf('/assets/common/images/icons/substitution/%s.png',
str_replace('/', '_', $record->getMimeType())
);
diff --git a/lib/Alchemy/Phrasea/Utilities/Less/Builder.php b/lib/Alchemy/Phrasea/Utilities/Less/Builder.php
deleted file mode 100644
index 827c5ffdff..0000000000
--- a/lib/Alchemy/Phrasea/Utilities/Less/Builder.php
+++ /dev/null
@@ -1,52 +0,0 @@
-compiler = $compiler;
- $this->filesystem = $filesystem;
- }
-
- /**
- * Build LESS files
- *
- * @param array $files
- *
- * @throws RuntimeException
- */
- public function build($files, OutputInterface $output = null)
- {
- foreach ($files as $lessFile => $target) {
- $this->filesystem->mkdir(dirname($target));
- if (null !== $output) {
- $output->writeln(" Building " . basename($target) . "... OK");
- }
- $this->compiler->compile($target, $lessFile);
- }
- }
-}
diff --git a/lib/Alchemy/Phrasea/Utilities/Less/Compiler.php b/lib/Alchemy/Phrasea/Utilities/Less/Compiler.php
deleted file mode 100644
index d8a26e2376..0000000000
--- a/lib/Alchemy/Phrasea/Utilities/Less/Compiler.php
+++ /dev/null
@@ -1,68 +0,0 @@
-filesystem = $filesystem;
- $this->recess = $recess;
- }
-
- /**
- * Compile LESS files
- *
- * @param string $target
- * @param string $files
- *
- * @throws RuntimeException
- */
- public function compile($target, $files)
- {
- $this->filesystem->mkdir(dirname($target));
-
- if (!$files instanceof \Traversable) {
- $files = new \ArrayObject(is_array($files) ? $files : [$files]);
- }
-
- $files = (array) $files;
-
- foreach ($files as $file) {
- if (false === is_file($file)) {
- throw new RuntimeException($file . ' does not exists.');
- }
- }
-
- if (!is_writable(dirname($target))) {
- throw new RuntimeException(dirname($target) . ' is not writable.');
- }
-
- $commands = $files;
- array_unshift($commands, '--compile');
-
- try {
- $output = $this->recess->command($commands);
- $this->filesystem->dumpFile($target, $output);
- } catch (ExecutionFailureException $e) {
- throw new RuntimeException('Could not execute recess command.', $e->getCode(), $e);
- }
- }
-}
diff --git a/lib/classes/Bridge/Api/Dailymotion.php b/lib/classes/Bridge/Api/Dailymotion.php
index 1a537d2547..57dfb1eaf0 100644
--- a/lib/classes/Bridge/Api/Dailymotion.php
+++ b/lib/classes/Bridge/Api/Dailymotion.php
@@ -108,7 +108,7 @@ class Bridge_Api_Dailymotion extends Bridge_Api_Abstract implements Bridge_Api_I
*/
public function get_icon_url()
{
- return '/skins/icons/dailymotion-small.gif';
+ return '/assets/common/images/icons/dailymotion-small.gif';
}
/**
@@ -117,7 +117,7 @@ class Bridge_Api_Dailymotion extends Bridge_Api_Abstract implements Bridge_Api_I
*/
public function get_image_url()
{
- return '/skins/icons/dailymotion-logo.png';
+ return '/assets/common/images/icons/dailymotion-logo.png';
}
/**
diff --git a/lib/classes/Bridge/Api/Flickr.php b/lib/classes/Bridge/Api/Flickr.php
index a8d61d3b57..19a9691ca6 100644
--- a/lib/classes/Bridge/Api/Flickr.php
+++ b/lib/classes/Bridge/Api/Flickr.php
@@ -90,7 +90,7 @@ class Bridge_Api_Flickr extends Bridge_Api_Abstract implements Bridge_Api_Interf
*/
public function get_icon_url()
{
- return '/skins/icons/flickr-small.gif';
+ return '/assets/common/images/icons/flickr-small.gif';
}
/**
@@ -99,7 +99,7 @@ class Bridge_Api_Flickr extends Bridge_Api_Abstract implements Bridge_Api_Interf
*/
public function get_image_url()
{
- return '/skins/icons/flickr.gif';
+ return '/assets/common/images/icons/flickr.gif';
}
/**
diff --git a/lib/classes/Bridge/Api/Youtube.php b/lib/classes/Bridge/Api/Youtube.php
index 0df0cbabd9..e8700bc7d7 100644
--- a/lib/classes/Bridge/Api/Youtube.php
+++ b/lib/classes/Bridge/Api/Youtube.php
@@ -93,7 +93,7 @@ class Bridge_Api_Youtube extends Bridge_Api_Abstract implements Bridge_Api_Inter
*/
public function get_icon_url()
{
- return '/skins/icons/youtube-small.gif';
+ return '/assets/common/images/icons/youtube-small.gif';
}
/**
@@ -102,7 +102,7 @@ class Bridge_Api_Youtube extends Bridge_Api_Abstract implements Bridge_Api_Inter
*/
public function get_image_url()
{
- return '/skins/icons/youtube-white.gif';
+ return '/assets/common/images/icons/youtube-white.gif';
}
/**
diff --git a/lib/classes/eventsmanager/notify/autoregister.php b/lib/classes/eventsmanager/notify/autoregister.php
index ffd1cb01c4..9c88f144ac 100644
--- a/lib/classes/eventsmanager/notify/autoregister.php
+++ b/lib/classes/eventsmanager/notify/autoregister.php
@@ -19,7 +19,7 @@ class eventsmanager_notify_autoregister extends eventsmanager_notifyAbstract
*/
public function icon_url()
{
- return '/skins/icons/user.png';
+ return '/assets/common/images/icons/user.png';
}
/**
diff --git a/lib/classes/eventsmanager/notify/bridgeuploadfail.php b/lib/classes/eventsmanager/notify/bridgeuploadfail.php
index d3b083e702..d4f8999486 100644
--- a/lib/classes/eventsmanager/notify/bridgeuploadfail.php
+++ b/lib/classes/eventsmanager/notify/bridgeuploadfail.php
@@ -19,7 +19,7 @@ class eventsmanager_notify_bridgeuploadfail extends eventsmanager_notifyAbstract
*/
public function icon_url()
{
- return '/skins/icons/user.png';
+ return '/assets/common/images/icons/user.png';
}
/**
diff --git a/lib/classes/eventsmanager/notify/downloadmailfail.php b/lib/classes/eventsmanager/notify/downloadmailfail.php
index 8c36376168..7c499193e1 100644
--- a/lib/classes/eventsmanager/notify/downloadmailfail.php
+++ b/lib/classes/eventsmanager/notify/downloadmailfail.php
@@ -22,7 +22,7 @@ class eventsmanager_notify_downloadmailfail extends eventsmanager_notifyAbstract
*/
public function icon_url()
{
- return '/skins/icons/user.png';
+ return '/assets/common/images/icons/user.png';
}
/**
diff --git a/lib/classes/eventsmanager/notify/feed.php b/lib/classes/eventsmanager/notify/feed.php
index 5bbab9e7b6..fa7870ebd5 100644
--- a/lib/classes/eventsmanager/notify/feed.php
+++ b/lib/classes/eventsmanager/notify/feed.php
@@ -19,7 +19,7 @@ class eventsmanager_notify_feed extends eventsmanager_notifyAbstract
*/
public function icon_url()
{
- return '/skins/icons/rss16.png';
+ return '/assets/common/images/icons/rss16.png';
}
/**
diff --git a/lib/classes/eventsmanager/notify/order.php b/lib/classes/eventsmanager/notify/order.php
index e86cce8cfc..8e8328f637 100644
--- a/lib/classes/eventsmanager/notify/order.php
+++ b/lib/classes/eventsmanager/notify/order.php
@@ -19,7 +19,7 @@ class eventsmanager_notify_order extends eventsmanager_notifyAbstract
*/
public function icon_url()
{
- return '/skins/icons/user.png';
+ return '/assets/common/images/icons/user.png';
}
/**
diff --git a/lib/classes/eventsmanager/notify/orderdeliver.php b/lib/classes/eventsmanager/notify/orderdeliver.php
index 4802294da5..cb34d18cd4 100644
--- a/lib/classes/eventsmanager/notify/orderdeliver.php
+++ b/lib/classes/eventsmanager/notify/orderdeliver.php
@@ -26,7 +26,7 @@ class eventsmanager_notify_orderdeliver extends eventsmanager_notifyAbstract
*/
public function icon_url()
{
- return '/skins/prod/000000/images/disktt_history.png';
+ return '/assets/common/images/icons/disktt_history.png';
}
/**
diff --git a/lib/classes/eventsmanager/notify/ordernotdelivered.php b/lib/classes/eventsmanager/notify/ordernotdelivered.php
index e36f8ffe48..250d74caef 100644
--- a/lib/classes/eventsmanager/notify/ordernotdelivered.php
+++ b/lib/classes/eventsmanager/notify/ordernotdelivered.php
@@ -24,7 +24,7 @@ class eventsmanager_notify_ordernotdelivered extends eventsmanager_notifyAbstrac
public function icon_url()
{
- return '/skins/prod/000000/images/disktt_history.png';
+ return '/assets/common/images/icons/disktt_history.png';
}
public function datas(array $data, $unread)
diff --git a/lib/classes/eventsmanager/notify/push.php b/lib/classes/eventsmanager/notify/push.php
index d6f00ec6ed..312cf558b9 100644
--- a/lib/classes/eventsmanager/notify/push.php
+++ b/lib/classes/eventsmanager/notify/push.php
@@ -19,7 +19,7 @@ class eventsmanager_notify_push extends eventsmanager_notifyAbstract
*/
public function icon_url()
{
- return '/skins/icons/push16.png';
+ return '/assets/common/images/icons/push16.png';
}
/**
diff --git a/lib/classes/eventsmanager/notify/register.php b/lib/classes/eventsmanager/notify/register.php
index fe85334824..aab01db904 100644
--- a/lib/classes/eventsmanager/notify/register.php
+++ b/lib/classes/eventsmanager/notify/register.php
@@ -19,7 +19,7 @@ class eventsmanager_notify_register extends eventsmanager_notifyAbstract
*/
public function icon_url()
{
- return '/skins/icons/user.png';
+ return '/assets/common/images/icons/user.png';
}
/**
diff --git a/lib/classes/eventsmanager/notify/validate.php b/lib/classes/eventsmanager/notify/validate.php
index 0cb380526f..e6ea68a881 100644
--- a/lib/classes/eventsmanager/notify/validate.php
+++ b/lib/classes/eventsmanager/notify/validate.php
@@ -26,7 +26,7 @@ class eventsmanager_notify_validate extends eventsmanager_notifyAbstract
*/
public function icon_url()
{
- return '/skins/icons/push16.png';
+ return '/assets/common/images/icons/push16.png';
}
/**
diff --git a/lib/classes/eventsmanager/notify/validationdone.php b/lib/classes/eventsmanager/notify/validationdone.php
index 588a0feee6..a8c6dc142e 100644
--- a/lib/classes/eventsmanager/notify/validationdone.php
+++ b/lib/classes/eventsmanager/notify/validationdone.php
@@ -26,7 +26,7 @@ class eventsmanager_notify_validationdone extends eventsmanager_notifyAbstract
*/
public function icon_url()
{
- return '/skins/icons/push16.png';
+ return '/assets/common/images/icons/push16.png';
}
/**
diff --git a/lib/classes/eventsmanager/notify/validationreminder.php b/lib/classes/eventsmanager/notify/validationreminder.php
index d730b455c2..7bc1743778 100644
--- a/lib/classes/eventsmanager/notify/validationreminder.php
+++ b/lib/classes/eventsmanager/notify/validationreminder.php
@@ -26,7 +26,7 @@ class eventsmanager_notify_validationreminder extends eventsmanager_notifyAbstra
*/
public function icon_url()
{
- return '/skins/icons/push16.png';
+ return '/assets/common/images/icons/push16.png';
}
/**
diff --git a/lib/classes/media/subdef.php b/lib/classes/media/subdef.php
index f6af9b8b72..4b2b0821cc 100644
--- a/lib/classes/media/subdef.php
+++ b/lib/classes/media/subdef.php
@@ -280,9 +280,9 @@ class media_subdef extends media_abstract implements cache_cacheableInterface
$this->mime = 'image/png';
$this->width = 256;
$this->height = 256;
- $this->path = $this->app['root.path'] . '/www/skins/icons/substitution/';
+ $this->path = $this->app['root.path'] . '/www/assets/common/images/icons/substitution/';
$this->file = 'regroup_thumb.png';
- $this->url = Url::factory('/skins/icons/substitution/regroup_thumb.png');
+ $this->url = Url::factory('/assets/common/images/icons/substitution/regroup_thumb.png');
} else {
$mime = $this->record->get_mime();
$mime = trim($mime) != '' ? str_replace('/', '_', $mime) : 'application_octet-stream';
@@ -290,17 +290,17 @@ class media_subdef extends media_abstract implements cache_cacheableInterface
$this->mime = 'image/png';
$this->width = 256;
$this->height = 256;
- $this->path = $this->app['root.path'] . '/www/skins/icons/substitution/';
+ $this->path = $this->app['root.path'] . '/www/assets/common/images/icons/substitution/';
$this->file = str_replace('+', '%20', $mime) . '.png';
- $this->url = Url::factory('/skins/icons/substitution/' . $this->file);
+ $this->url = Url::factory('/assets/common/images/icons/substitution/' . $this->file);
}
$this->is_physically_present = false;
if ( ! file_exists($this->path . $this->file)) {
- $this->path = $this->app['root.path'] . '/www/skins/icons/';
+ $this->path = $this->app['root.path'] . '/www/assets/common/images/icons/';
$this->file = 'substitution.png';
- $this->url = Url::factory('/skins/icons/' . $this->file);
+ $this->url = Url::factory('/assets/common/images/icons/' . $this->file);
}
return $this;
diff --git a/lib/classes/setup.php b/lib/classes/setup.php
index 0564f9c8d3..641ac393d5 100644
--- a/lib/classes/setup.php
+++ b/lib/classes/setup.php
@@ -59,10 +59,6 @@ class setup
'name' => 'FFmpeg',
'binary' => $finder->find('ffmpeg')
],
- 'recess' => [
- 'name' => 'Recesss',
- 'binary' => $finder->find('recess')
- ],
];
}
}
diff --git a/lib/conf.d/configuration.yml b/lib/conf.d/configuration.yml
index 9e48276ba4..371b7b1d02 100644
--- a/lib/conf.d/configuration.yml
+++ b/lib/conf.d/configuration.yml
@@ -53,7 +53,6 @@ main:
ffprobe_binary: null
mp4box_binary: null
pdftotext_binary: null
- recess_binary: null
ffmpeg_timeout: 3600
ffprobe_timeout: 60
gs_timeout: 60
diff --git a/lib/conf.d/minifyGroupsConfig.php b/lib/conf.d/minifyGroupsConfig.php
index 0a67fa8ead..b5ff742110 100644
--- a/lib/conf.d/minifyGroupsConfig.php
+++ b/lib/conf.d/minifyGroupsConfig.php
@@ -8,148 +8,6 @@
* You may wish to use the Minify URI Builder app to suggest
* changes. http://yourdomain/min/builder/
* */
-$groups = [
- 'account' => [
- '//include/jslibs/jquery.contextmenu_scroll.js',
- '//assets/jquery.cookie/jquery.cookie.js',
- '//include/jquery.common.js',
- '//assets/requirejs/require.js',
- '//skins/account/account.js'
- ],
- 'authentication_css' => [
- '//assets/normalize-css/normalize.css',
- '//assets/build/login.css',
- '//assets/font-awesome/css/font-awesome.css',
- '//assets/jquery.ui/jquery.ui.autocomplete.css'
- ],
- 'authentication' => [
- '//assets/modernizr/modernizr.js',
- '//assets/requirejs/require.js',
- '//scripts/apps/login/home/config.js'
- ],
- 'client' => [
- '//assets/swfobject/swfobject.js'
- , '//assets/jquery.ui/i18n/jquery-ui-i18n.js'
- , '//assets/jquery.cookie/jquery.cookie.js'
- , '//include/jquery.common.js'
- , '//assets/json2/json2.js'
- , '//include/jslibs/audio-player/audio-player-noswfobject.js'
- , '//include/jslibs/jquery.form.2.49.js'
- , '//skins/prod/jquery.Dialog.js'
- , '//skins/client/jquery.p4client.1.0.js'
- , '//include/jquery.tooltip.js'
- , '//include/jquery.p4.preview.js'
- , '//include/jquery.image_enhancer.js'
- , '//include/jslibs/jquery.contextmenu_scroll.js'],
- 'admin' => [
- '//assets/modernizr/modernizr.js'
- , '//assets/underscore-amd/underscore.js'
- , '//assets/jquery.cookie/jquery.cookie.js'
- , '//assets/jquery.treeview/jquery.treeview.js'
- , '//assets/jquery.ui/i18n/jquery-ui-i18n.js'
- , '//include/jquery.kb-event.js'
- , '//skins/admin/template-dialogs.js'
- , '//include/jquery.common.js'
- , '//include/jquery.tooltip.js'
- , '//skins/prod/jquery.Dialog.js'
- , '//include/jslibs/jquery.contextmenu_scroll.js'
- , '//assets/blueimp-load-image/load-image.js'
- , '//assets/jquery-file-upload/jquery.iframe-transport.js'
- , '//assets/jquery-file-upload/jquery.fileupload.js'
- ],
- 'report' => [
- '//assets/jquery.ui/i18n/jquery-ui-i18n.js'
- , '//assets/jquery.cookie/jquery.cookie.js'
- , '//include/jquery.common.js'
- , '//include/jquery.tooltip.js'
- , '//include/jslibs/jquery.contextmenu_scroll.js'
- , '//include/jslibs/jquery.print.js'
- , '//include/jslibs/jquery.cluetip.js'
- , '//include/jquery.nicoslider.js'
- , '//skins/report/report.js'
- ],
- 'modalBox' => [
- '//assets/jquery.ui/i18n/jquery-ui-i18n.js'
- ],
- 'prod' => [
- '//assets/swfobject/swfobject.js'
- , '//assets/underscore-amd/underscore.js'
- , '//assets/json2/json2.js'
- , '//include/jslibs/colorpicker/js/colorpicker.js'
- , '//include/jslibs/jquery.mousewheel.js'
- , '//include/jslibs/jquery.lazyload/jquery.lazyload.1.8.1.js'
- , '//assets/jquery.ui/i18n/jquery-ui-i18n.js'
- , '//assets/jquery.cookie/jquery.cookie.js'
- , '//include/jquery.common.js'
- , '//assets/humane-js/humane.js'
- , '//assets/blueimp-load-image/load-image.js'
- , '//assets/jquery-file-upload/jquery.iframe-transport.js'
- , '//assets/jquery-file-upload/jquery.fileupload.js'
- , '//include/jslibs/jquery.form.2.49.js'
- , '//include/jslibs/jquery.vertical.buttonset.js'
- , '//include/js/jquery.Selection.js'
- , '//include/js/jquery.Edit.js'
- , '//include/js/jquery.lists.js'
- , '//skins/prod/jquery.Prod.js'
- , '//skins/prod/jquery.Dialog.js'
- , '//skins/prod/jquery.Feedback.js'
- , '//skins/prod/jquery.Results.js'
- , '//skins/prod/jquery.main-prod.js'
- , '//skins/prod/jquery.WorkZone.js'
- , '//skins/prod/jquery.Alerts.js'
- , '//skins/prod/jquery.Upload.js'
- , '//include/jslibs/pixastic.custom.js'
- , '//skins/prod/ThumbExtractor.js'
- , '//skins/prod/publicator.js'
- , '//include/jslibs/jquery.sprintf.1.0.3.js'
- , '//include/jquery.tooltip.js'
- , '//include/jslibs/flowplayer/flowplayer-3.2.13.min.js'
- , '//include/jquery.p4.preview.js'
- , '//skins/prod/jquery.edit.js'
- , '//include/jslibs/jquery.color.animation.js'
- , '//include/jquery.image_enhancer.js'
- , '//include/jslibs/jquery.contextmenu_scroll.js'
- , '//assets/jquery.treeview/jquery.treeview.js'
- , '//assets/jquery.treeview/jquery.treeview.async.js'
- , '//assets/requirejs/require.js'
- ],
- 'thesaurus' => [
- '//assets/jquery.cookie/jquery.cookie.js'
- , '//include/jslibs/jquery.contextmenu_scroll.js'
- , '//include/jquery.common.js'
- , '//skins/thesaurus/win.js'
- , '//skins/thesaurus/xmlhttp.js'
- , '//skins/thesaurus/thesaurus.js'
- , '//skins/thesaurus/sprintf.js'
- ],
- 'lightbox' => [
- '//include/jslibs/jquery.mousewheel.js'
- , '//include/jquery.tooltip.js'
- , '//assets/swfobject/swfobject.js'
- , '//assets/jquery.ui/i18n/jquery-ui-i18n.js'
- , '//assets/jquery.cookie/jquery.cookie.js'
- , '//include/jslibs/jquery.contextmenu_scroll.js'
- , '//include/jquery.common.js'
- , '//skins/prod/jquery.Dialog.js'
- , '//skins/lightbox/jquery.lightbox.js'
- , '//include/jslibs/flowplayer/flowplayer-3.2.13.min.js'
- ],
- 'lightboxie6' => [
- '//include/jslibs/jquery.mousewheel.js'
- , '//include/jquery.tooltip.js'
- , '//assets/swfobject/swfobject.js'
- , '//assets/jquery.ui/i18n/jquery-ui-i18n.js'
- , '//assets/jquery.cookie/jquery.cookie.js'
- , '//include/jslibs/jquery.contextmenu_scroll.js'
- , '//include/jquery.common.js'
- , '//skins/prod/jquery.Dialog.js'
- , '//skins/lightbox/jquery.lightbox.ie6.js'
- , '//include/jslibs/flowplayer/flowplayer-3.2.13.min.js'
- ],
- 'uploadflash' => [
- '//include/jslibs/SWFUpload/swfupload.js'
- , '//include/jslibs/SWFUpload/plugins/swfupload.queue.js'
- ]
-];
+$groups = [];
return $groups;
diff --git a/package.json b/package.json
index 6b68aa944e..755fb82519 100644
--- a/package.json
+++ b/package.json
@@ -3,19 +3,33 @@
"version": "4.0.0",
"devDependencies": {
"bower": "~1.3",
- "grunt": "~0.4.1",
- "grunt-bower-postinst": "~0.2.0",
- "grunt-bower-task": "~0.4.0",
- "grunt-cli": "latest",
- "grunt-contrib-clean": "^0.6.0",
- "grunt-contrib-copy": "^0.8.2",
- "grunt-contrib-qunit": "^0.7.0",
- "grunt-mocha-phantomjs": "~0.3.0",
- "grunt-shell": "~0.6",
+ "bower-files": "^3.11.3",
+ "browser-sync": "^2.10.0",
+ "del": "^2.1.0",
+ "fs": "0.0.2",
+ "gulp": "^3.9.0",
+ "gulp-autoprefixer": "^3.1.0",
+ "gulp-concat": "^2.6.0",
+ "gulp-concat-util": "^0.5.4",
+ "gulp-cssmin": "^0.1.7",
+ "gulp-debug": "^2.1.2",
+ "gulp-install": "^0.6.0",
+ "gulp-qunit": "^1.2.1",
+ "gulp-rename": "^1.2.2",
+ "gulp-sass": "^2.1.0",
+ "gulp-uglify": "^1.4.2",
+ "gulp-util": "^3.0.7",
+ "gulp-watch": "^4.3.5",
"jake": "latest",
- "mocha-phantomjs": ">=2.0 <3.0",
- "recess": ">=1.1.0 <1.1.7",
+ "path": "^0.12.7",
"tmp": "0.0.23",
- "uglify-js": "latest"
+ "wrench": "^1.5.8"
+ },
+ "engines" : {
+ "node" : ">=0.12"
+ },
+ "scripts": {
+ "build": "./node_modules/.bin/gulp build;",
+ "postinstall": "./node_modules/.bin/gulp install;"
}
}
diff --git a/www/skins/report/jquery-ui-theme/report-base/images/ui-bg_flat_65_ff9000_40x100.png b/plugins/.gitkeep
similarity index 100%
rename from www/skins/report/jquery-ui-theme/report-base/images/ui-bg_flat_65_ff9000_40x100.png
rename to plugins/.gitkeep
diff --git a/plugins/account.less b/plugins/account.less
deleted file mode 100644
index 7670144a87..0000000000
--- a/plugins/account.less
+++ /dev/null
@@ -1 +0,0 @@
-// This file is automatically generated, please do not edit it.
\ No newline at end of file
diff --git a/plugins/login.less b/plugins/login.less
deleted file mode 100644
index 7670144a87..0000000000
--- a/plugins/login.less
+++ /dev/null
@@ -1 +0,0 @@
-// This file is automatically generated, please do not edit it.
\ No newline at end of file
diff --git a/resources/gulp/build.js b/resources/gulp/build.js
new file mode 100644
index 0000000000..956ab2fad3
--- /dev/null
+++ b/resources/gulp/build.js
@@ -0,0 +1,50 @@
+var gulp = require('gulp');
+var util = require('gulp-util');
+var config = require('./config.js');
+var debug = require('gulp-debug');
+var fs = require('fs');
+var utils = require('./utils.js');
+
+
+
+
+gulp.task('build', ['build-vendors'], function(){
+ gulp.start('build-common');
+ gulp.start('build-oauth');
+ gulp.start('build-prod');
+ gulp.start('build-thesaurus');
+ gulp.start('build-uploadFlash');
+ gulp.start('build-lightbox');
+ gulp.start('build-admin');
+ gulp.start('build-report');
+ gulp.start('build-account');
+ gulp.start('build-permaview');
+ gulp.start('build-setup');
+ gulp.start('build-authentication');
+});
+
+// standalone vendors used across application
+gulp.task('build-vendors', [
+ 'build-bootstrap',
+ 'build-colorpicker',
+ 'build-jquery',
+ 'build-jquery-ui', // will build themes too
+ 'build-jquery-mobile',
+ 'build-jquery-galleria',
+ 'build-jquery-file-upload',
+ // 'build-jquery-image-enhancer', //bundled in prod only
+ 'build-json2',
+ 'build-modernizr',
+ 'build-zxcvbn',
+ 'build-tinymce',
+ 'build-backbone',
+ 'build-i18next',
+ 'build-bootstrap-multiselect',
+ 'build-blueimp-load-image',
+ 'build-geonames-server-jquery-plugin',
+ 'build-jquery-cookie',
+ 'build-requirejs',
+ 'build-jquery-treeview',
+ 'build-jquery-lazyload',
+ 'build-jquery-test-paths'
+ ], function() {});
\ No newline at end of file
diff --git a/resources/gulp/components/account.js b/resources/gulp/components/account.js
new file mode 100644
index 0000000000..2002255605
--- /dev/null
+++ b/resources/gulp/components/account.js
@@ -0,0 +1,37 @@
+var gulp = require('gulp');
+var config = require('../config.js');
+var utils = require('../utils.js');
+var debugMode = false;
+
+gulp.task('copy-account-images', function(){
+ return gulp.src([config.paths.src + 'account/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'account/images'));
+});
+gulp.task('build-account-css', function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'account/styles/main.scss'
+ ], 'account', 'account/css/', debugMode);
+});
+
+gulp.task('build-account-js', function(){
+ var accountGroup = [
+ config.paths.vendors + 'requirejs/require.js',
+ config.paths.src + 'account/js/account.js'
+ ];
+ return utils.buildJsGroup(accountGroup, 'account', 'account/js', debugMode);
+});
+
+gulp.task('watch-account-js', function() {
+ debugMode = true;
+ return gulp.watch(config.paths.src + 'account/**/*.js', ['build-account-js']);
+});
+
+gulp.task('watch-account-css', function() {
+ debugMode = true;
+ gulp.watch(config.paths.src + 'account/**/*.scss', ['build-account-css']);
+});
+
+gulp.task('build-account', ['copy-account-images', 'build-account-css'], function(){
+ debugMode = false;
+ return gulp.start('build-account-js');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/admin.js b/resources/gulp/components/admin.js
new file mode 100644
index 0000000000..408bf5db8d
--- /dev/null
+++ b/resources/gulp/components/admin.js
@@ -0,0 +1,45 @@
+var gulp = require('gulp');
+var config = require('../config.js');
+var utils = require('../utils.js');
+var debugMode = false;
+
+gulp.task('copy-admin-images', function(){
+ return gulp.src([config.paths.src + 'admin/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'admin/images'));
+});
+gulp.task('build-admin-css', function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'admin/styles/main.scss'
+ ], 'admin', 'admin/css/', debugMode);
+});
+
+gulp.task('build-admin-js', function(){
+ var adminGroup = [
+ config.paths.vendors + 'underscore-amd/underscore.js',
+ config.paths.vendors + 'jquery-treeview/jquery.treeview.js',
+ // config.paths.vendors + 'jquery-file-upload/js/vendor/jquery.ui.widget.js',
+ // config.paths.vendors + 'jquery-file-upload/js/jquery.iframe-transport.js',
+ // config.paths.vendors + 'jquery-file-upload/js/jquery.fileupload.js',
+ config.paths.src + 'admin/js/jquery.kb-event.js',
+ config.paths.src + 'admin/js/template-dialogs.js',
+ config.paths.vendors + 'requirejs/require.js',
+ config.paths.dist + 'scripts/apps/admin/require.config.js',
+ config.paths.dist + 'scripts/apps/admin/main/main.js'
+ ];
+ utils.buildJsGroup(adminGroup, 'admin', 'admin/js', debugMode);
+});
+
+gulp.task('watch-admin-js', function() {
+ debugMode = true;
+ return gulp.watch(config.paths.src + 'admin/**/*.js', ['build-admin-js']);
+});
+
+gulp.task('watch-admin-css', function() {
+ debugMode = true;
+ gulp.watch(config.paths.src + 'admin/**/*.scss', ['build-admin-css']);
+});
+
+gulp.task('build-admin', ['copy-admin-images', 'build-admin-css'], function(){
+ debugMode = false;
+ return gulp.start('build-admin-js');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/authentication.js b/resources/gulp/components/authentication.js
new file mode 100644
index 0000000000..271d703333
--- /dev/null
+++ b/resources/gulp/components/authentication.js
@@ -0,0 +1,37 @@
+var gulp = require('gulp');
+var config = require('../config.js');
+var utils = require('../utils.js');
+var debugMode = false;
+
+gulp.task('copy-authentication-images', function(){
+ return gulp.src([config.paths.src + 'authentication/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'authentication/images'));
+});
+gulp.task('build-authentication-css', function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'authentication/styles/main.scss'
+ ], 'authentication', 'authentication/css/', debugMode);
+});
+
+gulp.task('build-authentication-js', function(){
+ var authenticationGroup = [
+ config.paths.vendors + 'requirejs/require.js',
+ config.paths.dist + 'scripts/apps/login/home/config.js'
+ ];
+ return utils.buildJsGroup(authenticationGroup, 'authentication', 'authentication/js', debugMode);
+});
+
+gulp.task('watch-authentication-js', function() {
+ debugMode = true;
+ return gulp.watch(config.paths.src + 'authentication/**/*.js', ['build-authentication-js']);
+});
+
+gulp.task('watch-authentication-css', function() {
+ debugMode = true;
+ gulp.watch(config.paths.src + 'authentication/**/*.scss', ['build-authentication-css']);
+});
+
+gulp.task('build-authentication', ['copy-authentication-images', 'build-authentication-css'], function(){
+ debugMode = false;
+ return gulp.start('build-authentication-js');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/common.js b/resources/gulp/components/common.js
new file mode 100644
index 0000000000..65d9093d78
--- /dev/null
+++ b/resources/gulp/components/common.js
@@ -0,0 +1,62 @@
+var gulp = require('gulp');
+var config = require('../config.js');
+var utils = require('../utils.js');
+var debugMode = false;
+
+gulp.task('copy-common-images', function(){
+ return gulp.src([config.paths.src + 'common/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'common/images'));
+});
+
+gulp.task('copy-common-fonts',function(){
+ return gulp.src([config.paths.vendors + 'font-awesome/font/*'])
+ .pipe(gulp.dest( config.paths.build + 'common/font'));
+});
+
+gulp.task('build-common-font-css', ['copy-common-fonts'],function(){
+ return gulp.src([config.paths.vendors + 'font-awesome/css/font-awesome-ie7.min.css'])
+ .pipe(gulp.dest( config.paths.build + 'common/css'));
+});
+
+gulp.task('build-common-css', ['build-common-font-css'],function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'common/styles/main.scss'
+ ], 'common', 'common/css/', debugMode)
+});
+
+gulp.task('build-common-js', function(){
+ var commonGroup = [
+ // config.paths.dist + 'assets/bootstrap/js/bootstrap.js', // should append no conflict
+ config.paths.src + 'vendors/jquery-mousewheel/js/jquery.mousewheel.js',
+ // jquery ui date picker langs
+ config.paths.vendors + 'jquery-ui/ui/i18n/jquery.ui.datepicker-ar.js',
+ config.paths.vendors + 'jquery-ui/ui/i18n/jquery.ui.datepicker-de.js',
+ config.paths.vendors + 'jquery-ui/ui/i18n/jquery.ui.datepicker-es.js',
+ config.paths.vendors + 'jquery-ui/ui/i18n/jquery.ui.datepicker-fr.js',
+ config.paths.vendors + 'jquery-ui/ui/i18n/jquery.ui.datepicker-nl.js',
+ config.paths.vendors + 'jquery-ui/ui/i18n/jquery.ui.datepicker-en-GB.js',
+ config.paths.vendors + 'jquery.cookie/jquery.cookie.js',
+ config.paths.src + 'vendors/jquery-contextmenu/js/jquery.contextmenu_custom.js',
+ config.paths.src + 'common/js/jquery.common.js',
+ config.paths.src + 'common/js/jquery.tooltip.js',
+ config.paths.src + 'common/js/jquery.Dialog.js',
+ config.paths.vendors + 'swfobject/swfobject/swfobject.js', // @TODO: should be moved away (embed-bundle)
+ config.paths.dist + 'include/jslibs/flowplayer/flowplayer-3.2.13.min.js' // @TODO: should be moved away (embed-bundle)
+ ];
+ return utils.buildJsGroup(commonGroup, 'common', 'common/js', debugMode);
+});
+
+gulp.task('watch-common-js', function() {
+ debugMode = true;
+ return gulp.watch(config.paths.src + 'common/**/*.js', ['build-common-js']);
+});
+
+gulp.task('watch-common-css', function() {
+ debugMode = true;
+ gulp.watch(config.paths.src + 'common/**/*.scss', ['build-common-css']);
+});
+
+gulp.task('build-common', ['copy-common-images', 'build-common-css'], function(){
+ debugMode = false;
+ return gulp.start('build-common-js');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/lightbox.js b/resources/gulp/components/lightbox.js
new file mode 100644
index 0000000000..f816827d45
--- /dev/null
+++ b/resources/gulp/components/lightbox.js
@@ -0,0 +1,61 @@
+var gulp = require('gulp');
+var config = require('../config.js');
+var utils = require('../utils.js');
+var debugMode = false;
+
+gulp.task('copy-lightbox-images', function(){
+ return gulp.src([config.paths.src + 'lightbox/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'lightbox/images'));
+});
+
+gulp.task('build-lightbox-mobile-css', function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'lightbox/styles/main-mobile.scss'
+ ], 'lightbox-mobile', 'lightbox/css/', debugMode);
+});
+
+gulp.task('build-lightbox-mobile-js', function(){
+
+ return utils.buildJsGroup([
+ config.paths.src + 'lightbox/js/jquery.validator.mobile.js'
+ ], 'lightbox-mobile', 'lightbox/js', debugMode);
+});
+
+gulp.task('build-lightbox-ie6-css', function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'lightbox/styles/main-ie6.scss'
+ ], 'lightbox-ie6', 'lightbox/css/', debugMode)
+});
+
+gulp.task('build-lightbox-css', ['build-lightbox-mobile-css', 'build-lightbox-ie6-css'], function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'lightbox/styles/main.scss'
+ ], 'lightbox', 'lightbox/css/', debugMode)
+});
+
+gulp.task('build-lightbox-js', ['build-lightbox-mobile-js'], function(){
+ var lightboxGroup = [
+ config.paths.src + 'lightbox/js/jquery.lightbox.js'
+ ];
+
+ var lightboxIE6Group = [
+ config.paths.src + 'lightbox/js/jquery.lightbox.ie6.js'
+ ];
+ utils.buildJsGroup(lightboxIE6Group, 'lightboxIe6', 'lightbox/js', debugMode);
+ return utils.buildJsGroup(lightboxGroup, 'lightbox', 'lightbox/js', debugMode);
+});
+
+gulp.task('watch-lightbox-js', function() {
+ debugMode = true;
+ return gulp.watch(config.paths.src + 'lightbox/**/*.js', ['build-lightbox-js']);
+});
+
+gulp.task('watch-lightbox-css', function() {
+ debugMode = true;
+ gulp.watch(config.paths.src + 'lightbox/**/*.scss', ['build-lightbox-css']);
+});
+
+gulp.task('build-lightbox', ['copy-lightbox-images', 'build-lightbox-css'], function(){
+ debugMode = false;
+ return gulp.start('build-lightbox-js');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/oauth.js b/resources/gulp/components/oauth.js
new file mode 100644
index 0000000000..4b8c034746
--- /dev/null
+++ b/resources/gulp/components/oauth.js
@@ -0,0 +1,13 @@
+var gulp = require('gulp');
+var config = require('../config.js');
+var utils = require('../utils.js');
+var debugMode = false;
+gulp.task('watch-oauth-css', function() {
+ debugMode = true;
+ gulp.watch(config.paths.src + 'oauth/**/*.scss', ['build-oauth']);
+});
+
+gulp.task('build-oauth', function () {
+ debugMode = false;
+ return utils.buildCssGroup([config.paths.src + 'oauth/main.scss'], 'oauth', 'oauth/css/', debugMode);
+});
\ No newline at end of file
diff --git a/resources/gulp/components/prod.js b/resources/gulp/components/prod.js
new file mode 100644
index 0000000000..c443c67c1f
--- /dev/null
+++ b/resources/gulp/components/prod.js
@@ -0,0 +1,130 @@
+var gulp = require('gulp');
+var config = require('../config.js');
+var utils = require('../utils.js');
+var qunit = require('gulp-qunit');
+var debugMode = false;
+
+
+// prod submodule
+gulp.task('build-uploadFlash', function(){
+ var uploadFlashGroup = [
+ config.paths.dist + 'include/jslibs/SWFUpload/swfupload.js',
+ config.paths.dist + 'include/jslibs/SWFUpload/plugins/swfupload.queue.js'
+ ];
+ return utils.buildJsGroup(uploadFlashGroup, 'uploadFlash', 'upload/js');
+});
+
+// prod submodule
+gulp.task('build-permaview', function(){
+ var permaviewGroup = [
+ config.paths.src + 'vendors/jquery-mousewheel/js/jquery.mousewheel.js',
+ config.paths.src + 'vendors/jquery-image-enhancer/js/jquery.image_enhancer.js',
+ config.paths.vendors + 'swfobject/swfobject/swfobject.js', // @TODO: should be moved away (embed-bundle)
+ config.paths.dist + 'include/jslibs/flowplayer/flowplayer-3.2.13.min.js' // @TODO: should be moved away (embed-bundle)
+ ];
+ return utils.buildJsGroup(permaviewGroup, 'permaview', 'permaview/js', debugMode);
+});
+
+gulp.task('copy-prod-skin-black-images', function(){
+ return gulp.src([
+ config.paths.src + 'prod/skins/000000/images/**/*'
+ ])
+ .pipe(gulp.dest( config.paths.build + 'prod/skins/000000/images'));
+});
+
+gulp.task('copy-prod-skin-grey-images', function(){
+ return gulp.src([
+ config.paths.src + 'prod/skins/959595/images/**/*'
+ ])
+ .pipe(gulp.dest( config.paths.build + 'prod/skins/959595/images'));
+});
+
+gulp.task('copy-prod-skin-white-images', function(){
+ return gulp.src([
+ config.paths.src + 'prod/skins/FFFFFF/images/**/*'
+ ])
+ .pipe(gulp.dest( config.paths.build + 'prod/skins/FFFFFF/images'));
+});
+
+gulp.task('copy-prod-images', function(){
+ return gulp.src([config.paths.src + 'prod/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'prod/images'));
+});
+
+gulp.task('build-prod-skin-black', ['copy-prod-skin-black-images'], function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'prod/skins/000000/skin-000000.scss'
+ ], 'skin-000000', 'prod/skins/000000/', debugMode);
+});
+
+gulp.task('build-prod-skin-grey', ['copy-prod-skin-grey-images'], function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'prod/skins/959595/skin-959595.scss'
+ ], 'skin-959595', 'prod/skins/959595/', debugMode);
+});
+
+gulp.task('build-prod-skin-white', ['copy-prod-skin-white-images'], function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'prod/skins/FFFFFF/skin-FFFFFF.scss'
+ ], 'skin-FFFFFF', 'prod/skins/FFFFFF/', debugMode);
+});
+
+gulp.task('build-prod-css', ['build-prod-skin-black', 'build-prod-skin-grey', 'build-prod-skin-white'], function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'prod/styles/main.scss'
+ ], 'prod', 'prod/css/', debugMode);
+});
+gulp.task('build-prod-js', function(){
+ var prodGroup = [
+ config.paths.vendors + 'underscore-amd/underscore.js',
+ config.paths.src + 'vendors/colorpicker/js/colorpicker.js',
+ config.paths.vendors + 'jquery.lazyload/jquery.lazyload.js',
+ config.paths.vendors + 'humane-js/humane.js', // @TODO > extra files
+ config.paths.vendors + 'blueimp-load-image/js/load-image.js', // @TODO > extra files
+ config.paths.vendors + 'jquery-file-upload/js/jquery.iframe-transport.js',
+ config.paths.vendors + 'jquery-file-upload/js/jquery.fileupload.js',
+ config.paths.vendors + 'geonames-server-jquery-plugin/jquery.geonames.js',
+ config.paths.src + 'prod/js/jquery.form.2.49.js',
+ config.paths.src + 'prod/js/jquery.Selection.js',
+ config.paths.src + 'prod/js/jquery.Edit.js',
+ config.paths.src + 'prod/js/jquery.lists.js',
+ config.paths.src + 'prod/js/jquery.Prod.js',
+ config.paths.src + 'prod/js/jquery.Feedback.js',
+ config.paths.src + 'prod/js/jquery.Results.js',
+ config.paths.src + 'prod/js/jquery.main-prod.js',
+ config.paths.src + 'prod/js/jquery.WorkZone.js',
+ config.paths.src + 'prod/js/jquery.Alerts.js',
+ config.paths.src + 'prod/js/jquery.Upload.js',
+ config.paths.src + 'prod/js/ThumbExtractor.js',
+ config.paths.src + 'prod/js/publicator.js',
+ config.paths.src + 'vendors/jquery-sprintf/js/jquery.sprintf.1.0.3.js',
+ config.paths.src + 'prod/js/jquery.p4.preview.js',
+ config.paths.src + 'prod/js/record.editor.js',
+ config.paths.src + 'prod/js/jquery.color.animation.js',
+ config.paths.src + 'vendors/jquery-image-enhancer/js/jquery.image_enhancer.js',
+ config.paths.vendors + 'jquery-treeview/jquery.treeview.js',
+ config.paths.vendors + 'jquery-treeview/jquery.treeview.async.js',
+ config.paths.vendors + 'fancytree/dist/jquery.fancytree-all.min.js'
+ ];
+ return utils.buildJsGroup(prodGroup, 'prod', 'prod/js', debugMode);
+});
+
+gulp.task('test-prod', function () {
+ return gulp.src(config.paths.src + 'prod/js/tests/*.html')
+ .pipe(qunit());
+});
+
+gulp.task('watch-prod-js', function() {
+ debugMode = true;
+ return gulp.watch(config.paths.src + 'prod/**/*.js', ['build-prod-js']);
+});
+
+gulp.task('watch-prod-css', function() {
+ debugMode = true;
+ return gulp.watch(config.paths.src + 'prod/**/*.scss', ['build-prod-css']);
+});
+
+gulp.task('build-prod', ['copy-prod-images', 'build-prod-css'], function(){
+ debugMode = false;
+ return gulp.start('build-prod-js');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/report.js b/resources/gulp/components/report.js
new file mode 100644
index 0000000000..12fbea870a
--- /dev/null
+++ b/resources/gulp/components/report.js
@@ -0,0 +1,46 @@
+var gulp = require('gulp');
+var config = require('../config.js');
+var utils = require('../utils.js');
+var debugMode = false;
+
+gulp.task('copy-report-images', function(){
+ return gulp.src([config.paths.src + 'report/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'report/images'));
+});
+
+gulp.task('build-report-print-css', function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'report/styles/main-print.scss'
+ ], 'print', 'report/css/', debugMode);
+});
+
+gulp.task('build-report-css', ['build-report-print-css'], function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'report/styles/main.scss'
+ ], 'report', 'report/css/', debugMode);
+});
+
+gulp.task('build-report-js', function(){
+ var reportGroup = [
+ config.paths.src + 'report/js/jquery.print.js',
+ config.paths.src + 'report/js/jquery.cluetip.js',
+ config.paths.src + 'report/js/jquery.nicoslider.js',
+ config.paths.src + 'report/js/jquery.gvChart-0.1.js',
+ config.paths.src + 'report/js/report.js'
+ ];
+ return utils.buildJsGroup(reportGroup, 'report', 'report/js', debugMode);
+});
+
+gulp.task('watch-report-js', function() {
+ debugMode = true;
+ return gulp.watch(config.paths.src + 'report/**/*.js', ['build-report-js']);
+});
+
+gulp.task('watch-report-css', function() {
+ debugMode = true;
+ gulp.watch(config.paths.src + 'report/**/*.scss', ['build-report-css']);
+});
+
+gulp.task('build-report', ['copy-report-images', 'build-report-css'], function(){
+ return gulp.start('build-report-js');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/setup.js b/resources/gulp/components/setup.js
new file mode 100644
index 0000000000..b56af7f4f7
--- /dev/null
+++ b/resources/gulp/components/setup.js
@@ -0,0 +1,39 @@
+var gulp = require('gulp');
+var config = require('../config.js');
+var utils = require('../utils.js');
+var debugMode = false;
+
+gulp.task('copy-setup-images', function(){
+ return gulp.src([config.paths.src + 'setup/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'setup/images'));
+});
+gulp.task('build-setup-css', function(){
+ utils.buildCssGroup([
+ config.paths.src + 'setup/styles/main.scss'
+ ], 'setup', 'setup/css/', debugMode);
+});
+
+gulp.task('build-setup-js', function(){
+ var setupGroup = [
+ config.paths.vendors + 'jquery.cookie/jquery.cookie.js',
+ config.paths.src + 'vendors/jquery-validation/js/jquery.validate.js',
+ config.paths.src + 'vendors/jquery-validate.password/js/jquery.validate.password.js',
+ config.paths.src + 'vendors/jquery-test-paths/jquery.test-paths.js'
+ ];
+ return utils.buildJsGroup(setupGroup, 'setup', 'setup/js', debugMode);
+});
+
+gulp.task('watch-setup-js', function() {
+ debugMode = true;
+ return gulp.watch(config.paths.src + 'setup/**/*.js', ['build-setup-js']);
+});
+
+gulp.task('watch-setup-css', function() {
+ debugMode = true;
+ gulp.watch(config.paths.src + 'setup/**/*.scss', ['build-setup-css']);
+});
+
+gulp.task('build-setup', ['copy-setup-images', 'build-setup-css'], function(){
+ debugMode = false;
+ return gulp.start('build-setup-js');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/thesaurus.js b/resources/gulp/components/thesaurus.js
new file mode 100644
index 0000000000..3f2487f360
--- /dev/null
+++ b/resources/gulp/components/thesaurus.js
@@ -0,0 +1,39 @@
+var gulp = require('gulp');
+var config = require('../config.js');
+var utils = require('../utils.js');
+var debugMode = false;
+
+gulp.task('copy-thesaurus-images', function(){
+ return gulp.src([config.paths.src + 'thesaurus/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'thesaurus/images'));
+});
+gulp.task('build-thesaurus-css', function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'thesaurus/styles/main.scss'
+ ], 'thesaurus', 'thesaurus/css/', debugMode);
+});
+
+gulp.task('build-thesaurus-js', function(){
+ var thesaurusGroup = [
+ config.paths.src + 'vendors/jquery-sprintf/js/jquery.sprintf.1.0.3.js',
+ config.paths.src + 'thesaurus/js/win.js',
+ config.paths.src + 'thesaurus/js/xmlhttp.js',
+ config.paths.src + 'thesaurus/js/thesaurus.js',
+ config.paths.src + 'thesaurus/js/sprintf.js'
+ ];
+ return utils.buildJsGroup(thesaurusGroup, 'thesaurus', 'thesaurus/js', debugMode);
+});
+
+gulp.task('watch-thesaurus-js', function() {
+ debugMode = true;
+ return gulp.watch(config.paths.src + 'thesaurus/**/*.js', ['build-thesaurus-js']);
+});
+
+gulp.task('watch-thesaurus-css', function() {
+ debugMode = true;
+ gulp.watch(config.paths.src + 'thesaurus/**/*.scss', ['build-thesaurus-css']);
+});
+
+gulp.task('build-thesaurus', ['copy-thesaurus-images', 'build-thesaurus-css'], function(){
+ return gulp.start('build-thesaurus-js');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/backbone.js b/resources/gulp/components/vendors/backbone.js
new file mode 100644
index 0000000000..2e7c65efec
--- /dev/null
+++ b/resources/gulp/components/vendors/backbone.js
@@ -0,0 +1,17 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+
+
+
+gulp.task('build-underscore', function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'underscore-amd/underscore.js'
+ ], 'underscore', 'vendors/underscore');
+});
+gulp.task('build-backbone', ['build-underscore'], function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'backbone-amd/backbone.js'
+ ], 'backbone', 'vendors/backbone');
+});
diff --git a/resources/gulp/components/vendors/blueimp-load-image.js b/resources/gulp/components/vendors/blueimp-load-image.js
new file mode 100644
index 0000000000..8d56cf707a
--- /dev/null
+++ b/resources/gulp/components/vendors/blueimp-load-image.js
@@ -0,0 +1,9 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-blueimp-load-image', function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'blueimp-load-image/js/load-image.js'
+ ], 'load-image', 'vendors/blueimp-load-image');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/bootstrap-multiselect.js b/resources/gulp/components/vendors/bootstrap-multiselect.js
new file mode 100644
index 0000000000..6582365e27
--- /dev/null
+++ b/resources/gulp/components/vendors/bootstrap-multiselect.js
@@ -0,0 +1,9 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-bootstrap-multiselect', function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'bootstrap-multiselect/dist/js/bootstrap-multiselect.js'
+ ], 'bootstrap-multiselect', 'vendors/bootstrap-multiselect');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/bootstrap.js b/resources/gulp/components/vendors/bootstrap.js
new file mode 100644
index 0000000000..7822458fef
--- /dev/null
+++ b/resources/gulp/components/vendors/bootstrap.js
@@ -0,0 +1,55 @@
+var gulp = require('gulp');
+var sass = require('gulp-sass');
+var uglify = require('gulp-uglify');
+var cssmin = require('gulp-cssmin');
+var concat = require('gulp-concat');
+var rename = require('gulp-rename');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('bootstrap-js', function () {
+ var btSource = [
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/javascripts/bootstrap-transition.js',
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/javascripts/bootstrap-alert.js',
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/javascripts/bootstrap-modal.js',
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/javascripts/bootstrap-dropdown.js',
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/javascripts/bootstrap-scrollspy.js',
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/javascripts/bootstrap-tab.js',
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/javascripts/bootstrap-tooltip.js',
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/javascripts/bootstrap-popover.js',
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/javascripts/bootstrap-button.js',
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/javascripts/bootstrap-collapse.js',
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/javascripts/bootstrap-carousel.js',
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/javascripts/bootstrap-typeahead.js',
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/javascripts/bootstrap-affix.js'];
+
+ gulp.src(btSource)
+ .pipe(concat('bootstrap.js'))
+ .pipe(gulp.dest( config.paths.build + 'vendors/bootstrap/js'))
+ .pipe(uglify())
+ .pipe(rename({ extname: '.min.js' }))
+ .pipe(gulp.dest( config.paths.build + 'vendors/bootstrap/js'))
+});
+gulp.task('bootstrap-assets', function () {
+ gulp.src([config.paths.vendors + 'bootstrap-sass/vendor/assets/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'vendors/bootstrap/img'));
+
+});
+gulp.task('build-bootstrap', ['bootstrap-assets', 'bootstrap-js'], function () {
+ // build standalone version (not used, see: Common Component)
+ gulp.src(config.paths.vendors + 'bootstrap-sass/vendor/assets/stylesheets/bootstrap.scss')
+ .pipe(sass().on('error', sass.logError))
+ .pipe(gulp.dest( config.paths.build + 'vendors/bootstrap/css/'))
+ .pipe(cssmin())
+ .pipe(rename({ suffix: '.min' }))
+ .pipe(gulp.dest( config.paths.build + 'vendors/bootstrap/css'));
+ gulp.src([
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/stylesheets/bootstrap-responsive.scss',
+ config.paths.vendors + 'bootstrap-sass/vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss'
+ ])
+ .pipe(sass().on('error', sass.logError))
+ .pipe(gulp.dest( config.paths.build + 'vendors/bootstrap/css/'))
+ .pipe(cssmin())
+ .pipe(rename({ suffix: '.min' }))
+ .pipe(gulp.dest( config.paths.build + 'vendors/bootstrap/css'));
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/colorpicker.js b/resources/gulp/components/vendors/colorpicker.js
new file mode 100644
index 0000000000..0d28ea8657
--- /dev/null
+++ b/resources/gulp/components/vendors/colorpicker.js
@@ -0,0 +1,20 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('copy-colorpicker-images', function(){
+ return gulp.src([config.paths.src + 'vendors/colorpicker/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'vendors/colorpicker/images'));
+});
+
+gulp.task('build-colorpicker-css', function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'vendors/colorpicker/styles/colorpicker.scss'
+ ], 'colorpicker', 'vendors/colorpicker');
+});
+
+gulp.task('build-colorpicker', ['build-colorpicker-css', 'copy-colorpicker-images'], function(){
+ return utils.buildJsGroup([
+ config.paths.src + 'vendors/colorpicker/js/colorpicker.js'
+ ], 'colorpicker', 'vendors/colorpicker');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/geonames-server-jquery-plugin.js b/resources/gulp/components/vendors/geonames-server-jquery-plugin.js
new file mode 100644
index 0000000000..eedfaf8a7d
--- /dev/null
+++ b/resources/gulp/components/vendors/geonames-server-jquery-plugin.js
@@ -0,0 +1,9 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-geonames-server-jquery-plugin', function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'geonames-server-jquery-plugin/jquery.geonames.js'
+ ], 'jquery.geonames', 'vendors/jquery.geonames');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/i18next.js b/resources/gulp/components/vendors/i18next.js
new file mode 100644
index 0000000000..4a1320813f
--- /dev/null
+++ b/resources/gulp/components/vendors/i18next.js
@@ -0,0 +1,9 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-i18next', function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'i18next/release/i18next.amd-1.6.3.js'
+ ], 'i18next', 'vendors/i18next');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/jquery-contextmenu.js b/resources/gulp/components/vendors/jquery-contextmenu.js
new file mode 100644
index 0000000000..6caed99664
--- /dev/null
+++ b/resources/gulp/components/vendors/jquery-contextmenu.js
@@ -0,0 +1,18 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('copy-jquery-contextmenu-images', function(){
+ return gulp.src([config.paths.src + 'vendors/jquery-contextmenu/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'vendors/jquery-contextmenu/images'));
+});
+
+gulp.task('build-jquery-contextmenu-css', function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'vendors/jquery-contextmenu/styles/jquery.contextmenu.scss'
+ ], 'jquery-contextmenu', 'vendors/jquery-contextmenu');
+});
+
+gulp.task('build-jquery-contextmenu', ['build-jquery-contextmenu-css', 'copy-jquery-contextmenu-images'], function(){
+
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/jquery-cookie.js b/resources/gulp/components/vendors/jquery-cookie.js
new file mode 100644
index 0000000000..a83426efa1
--- /dev/null
+++ b/resources/gulp/components/vendors/jquery-cookie.js
@@ -0,0 +1,9 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-jquery-cookie', function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'jquery.cookie/jquery.cookie.js'
+ ], 'jquery.cookie', 'vendors/jquery.cookie');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/jquery-file-upload.js b/resources/gulp/components/vendors/jquery-file-upload.js
new file mode 100644
index 0000000000..9674eee7de
--- /dev/null
+++ b/resources/gulp/components/vendors/jquery-file-upload.js
@@ -0,0 +1,23 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+
+
+gulp.task('build-jquery-file-upload-widget', [], function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'jquery-file-upload/js/vendor/jquery.ui.widget.js'
+ ], 'jquery.ui.widget', 'vendors/jquery-file-upload');
+});
+
+gulp.task('build-jquery-file-transport', [], function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'jquery-file-upload/js/jquery.iframe-transport.js'
+ ], 'jquery.iframe-transport', 'vendors/jquery-file-upload');
+});
+
+gulp.task('build-jquery-file-upload', ['build-jquery-file-transport', 'build-jquery-file-upload-widget'], function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'jquery-file-upload/js/jquery.fileupload.js'
+ ], 'jquery.fileupload', 'vendors/jquery-file-upload');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/jquery-galleria.js b/resources/gulp/components/vendors/jquery-galleria.js
new file mode 100644
index 0000000000..27305ac0bf
--- /dev/null
+++ b/resources/gulp/components/vendors/jquery-galleria.js
@@ -0,0 +1,26 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-galleria-css', function(){
+ return utils.buildCssGroup([
+ config.paths.vendors + 'jquery-galleria/src/themes/classic/galleria.classic.css'
+ ], 'galleria.classic', 'vendors/jquery-galleria');
+});
+gulp.task('build-galleria-js-classic', function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'jquery-galleria/src/themes/classic/galleria.classic.js'
+ ], 'galleria.classic', 'vendors/jquery-galleria');
+});
+
+gulp.task('build-galleria-js', ['build-galleria-js-classic'], function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'jquery-galleria/src/galleria.js'
+ ], 'galleria', 'vendors/jquery-galleria');
+});
+
+gulp.task('build-jquery-galleria', ['build-galleria-js', 'build-galleria-css'], function(){
+ // copy jquery mobile assets
+ return gulp.src(config.paths.vendors + 'jquery-galleria/src/themes/classic/!(*.js|*.map|*.css|*.html)')
+ .pipe(gulp.dest( config.paths.build + 'vendors/jquery-galleria'));
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/jquery-image-enhancer.js b/resources/gulp/components/vendors/jquery-image-enhancer.js
new file mode 100644
index 0000000000..d3c68031e5
--- /dev/null
+++ b/resources/gulp/components/vendors/jquery-image-enhancer.js
@@ -0,0 +1,17 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+
+
+gulp.task('build-jquery-image-enhancer-css', function(){
+ return utils.buildCssGroup([
+ config.paths.src + 'vendors/jquery-image-enhancer/styles/jquery.image_enhancer.scss'
+ ], 'jquery-image-enhancer', 'vendors/jquery-image-enhancer');
+});
+
+gulp.task('build-jquery-image-enhancer', ['build-jquery-image-enhancer-css'], function(){
+ return utils.buildJsGroup([
+ config.paths.src + 'vendors/jquery-image-enhancer/js/jquery.image_enhancer.js'
+ ], 'jquery-image-enhancer', 'vendors/jquery-image-enhancer');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/jquery-lazyload.js b/resources/gulp/components/vendors/jquery-lazyload.js
new file mode 100644
index 0000000000..0faa60f9dc
--- /dev/null
+++ b/resources/gulp/components/vendors/jquery-lazyload.js
@@ -0,0 +1,9 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-jquery-lazyload', function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'jquery.lazyload/jquery.lazyload.js'
+ ], 'jquery.lazyload', 'vendors/jquery.lazyload');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/jquery-mobile.js b/resources/gulp/components/vendors/jquery-mobile.js
new file mode 100644
index 0000000000..af5d09ead6
--- /dev/null
+++ b/resources/gulp/components/vendors/jquery-mobile.js
@@ -0,0 +1,21 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-jquery-mobile-css', function(){
+ return utils.buildCssGroup([
+ config.paths.vendors + 'jquery-mobile-bower/css/jquery.mobile-1.3.2.css'
+ ], 'jquery-mobile', 'vendors/jquery-mobile');
+});
+
+gulp.task('build-jquery-mobile-js', function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'jquery-mobile-bower/js/jquery.mobile-1.3.2.js'
+ ], 'jquery-mobile', 'vendors/jquery-mobile');
+});
+
+gulp.task('build-jquery-mobile', ['build-jquery-mobile-js', 'build-jquery-mobile-css'], function(){
+ // copy jquery mobile assets
+ return gulp.src(config.paths.vendors + 'jquery-mobile-bower/css/images/**/*')
+ .pipe(gulp.dest( config.paths.build + 'vendors/jquery-mobile/images'));
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/jquery-test-paths.js b/resources/gulp/components/vendors/jquery-test-paths.js
new file mode 100644
index 0000000000..3a48895616
--- /dev/null
+++ b/resources/gulp/components/vendors/jquery-test-paths.js
@@ -0,0 +1,9 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-jquery-test-paths', function(){
+ return utils.buildJsGroup([
+ config.paths.src + 'vendors/jquery-test-paths/jquery.test-paths.js'
+ ], 'jquery.test-paths', 'vendors/jquery-test-paths');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/jquery-treeview.js b/resources/gulp/components/vendors/jquery-treeview.js
new file mode 100644
index 0000000000..fbcf4ca997
--- /dev/null
+++ b/resources/gulp/components/vendors/jquery-treeview.js
@@ -0,0 +1,17 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('copy-jquery-treeview-images', function(){
+ return gulp.src([config.paths.vendors + 'jquery-treeview/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'vendors/jquery-treeview/images'));
+});
+gulp.task('build-jquery-treeview', ['copy-jquery-treeview-images'], function(){
+ // no standalone version used
+ /*utils.buildJsGroup([
+ config.paths.vendors + 'jquery-treeview/jquery.treeview.async.js'
+ ], 'jquery.treeview.async', 'vendors/jquery-treeview');*/
+ return utils.buildJsGroup([
+ config.paths.vendors + 'jquery-treeview/jquery.treeview.js'
+ ], 'jquery.treeview', 'vendors/jquery-treeview');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/jquery-ui.js b/resources/gulp/components/vendors/jquery-ui.js
new file mode 100644
index 0000000000..bef8e05eb0
--- /dev/null
+++ b/resources/gulp/components/vendors/jquery-ui.js
@@ -0,0 +1,24 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('copy-jquery-ui-images', function(){
+ return gulp.src([config.paths.src + 'vendors/jquery-ui/images/**/*'])
+ .pipe(gulp.dest( config.paths.build + 'vendors/jquery-ui/images'));
+});
+
+// DEPRECATED > theme is loaded in skin 000000
+gulp.task('copy-jquery-ui-theme1', function(){
+ utils.buildCssGroup([config.paths.src + 'vendors/jquery-ui/dark-hive.scss'], 'dark-hive', 'vendors/jquery-ui/css/');
+});
+// DEPRECATED > theme is loaded in skin 959595
+gulp.task('copy-jquery-ui-theme2', function(){
+ utils.buildCssGroup([config.paths.src + 'vendors/jquery-ui/ui-lightness.scss'], 'ui-lightness', 'vendors/jquery-ui/css/');
+});
+
+gulp.task('build-jquery-ui', ['copy-jquery-ui-images', 'copy-jquery-ui-theme1', 'copy-jquery-ui-theme2'], function(){
+ // copy jquery ui assets
+ return utils.buildJsGroup([
+ config.paths.vendors + 'jquery-ui/ui/jquery-ui.js'
+ ], 'jquery-ui', 'vendors/jquery-ui');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/jquery.js b/resources/gulp/components/vendors/jquery.js
new file mode 100644
index 0000000000..6e9376fe61
--- /dev/null
+++ b/resources/gulp/components/vendors/jquery.js
@@ -0,0 +1,9 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-jquery', function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'jquery/dist/jquery.js'
+ ], 'jquery', 'vendors/jquery');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/json2.js b/resources/gulp/components/vendors/json2.js
new file mode 100644
index 0000000000..d05244f98a
--- /dev/null
+++ b/resources/gulp/components/vendors/json2.js
@@ -0,0 +1,9 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-json2', [], function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'json2/json2.js'
+ ], 'json2', 'vendors/json2');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/modernizr.js b/resources/gulp/components/vendors/modernizr.js
new file mode 100644
index 0000000000..803a953bd6
--- /dev/null
+++ b/resources/gulp/components/vendors/modernizr.js
@@ -0,0 +1,9 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-modernizr', [], function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'modernizr/modernizr.js'
+ ], 'modernizr', 'vendors/modernizr');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/requirejs.js b/resources/gulp/components/vendors/requirejs.js
new file mode 100644
index 0000000000..03060384d9
--- /dev/null
+++ b/resources/gulp/components/vendors/requirejs.js
@@ -0,0 +1,9 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-requirejs', function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'requirejs/require.js'
+ ], 'require', 'vendors/requirejs');
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/tinymce.js b/resources/gulp/components/vendors/tinymce.js
new file mode 100644
index 0000000000..0b46a4e2f8
--- /dev/null
+++ b/resources/gulp/components/vendors/tinymce.js
@@ -0,0 +1,8 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-tinymce', [], function(){
+ return gulp.src([config.paths.vendors + 'tinymce/**'])
+ .pipe(gulp.dest(config.paths.build + 'vendors/tinymce'));
+});
\ No newline at end of file
diff --git a/resources/gulp/components/vendors/zxcvbn.js b/resources/gulp/components/vendors/zxcvbn.js
new file mode 100644
index 0000000000..9871511805
--- /dev/null
+++ b/resources/gulp/components/vendors/zxcvbn.js
@@ -0,0 +1,9 @@
+var gulp = require('gulp');
+var config = require('../../config.js');
+var utils = require('../../utils.js');
+
+gulp.task('build-zxcvbn', [], function(){
+ return utils.buildJsGroup([
+ config.paths.vendors + 'zxcvbn/dist/zxcvbn.js'
+ ], 'zxcvbn', 'vendors/zxcvbn');
+});
\ No newline at end of file
diff --git a/resources/gulp/config.js b/resources/gulp/config.js
new file mode 100644
index 0000000000..62e54afd59
--- /dev/null
+++ b/resources/gulp/config.js
@@ -0,0 +1,39 @@
+var path = require("path");
+var fs = require("fs");
+var gutil = require("gulp-util");
+var configPaths = {
+ src: 'resources/www/',
+ vendors: 'www/bower_components/',
+ build: 'www/assets/',
+ dist: 'www/'
+};
+
+exports.paths = configPaths;
+
+/**
+ * ensure external override config is accessible
+ * @returns {boolean}
+ */
+exports.checkPath = function(userPath, log) {
+ "use strict";
+ try {
+ fs.statSync(path.resolve(userPath) );
+ if( log === true ) {
+ gutil.log(gutil.colors.green('[INFO]'), 'folder "'+userPath+'" exists');
+ }
+ return true;
+ } catch(e) {
+ if( log === true ) {
+ gutil.log(gutil.colors.red('[WARNING]'), 'folder "' + userPath + '" not found');
+ }
+ return false;
+ }
+};
+exports.errorHandler = function(title) {
+ 'use strict';
+
+ return function(err) {
+ gutil.log(gutil.colors.red('[' + title + ']'), err.toString());
+ this.emit('end');
+ };
+};
diff --git a/resources/gulp/install.js b/resources/gulp/install.js
new file mode 100644
index 0000000000..164a85c49c
--- /dev/null
+++ b/resources/gulp/install.js
@@ -0,0 +1,49 @@
+
+
+
+// TODO: bower, tmp-assets
+// TODO: asset, www/assets
+var gulp = require('gulp');
+var rename = require('gulp-rename');
+var concat = require('gulp-concat');
+var uglify = require('gulp-uglify');
+var cssmin = require('gulp-cssmin');
+var install = require('gulp-install');
+var sass = require('gulp-sass');
+var del = require('del');
+var config = require('./config.js');
+
+gulp.task('clean:assetsPath', function(done){
+ return del([config.paths.build + '/**/*'], done);
+});
+
+gulp.task('install-bower-dependencies', function(){
+ return gulp.src(['./bower.json'])
+ .pipe(install());
+});
+
+gulp.task('build-dependencies', ['install-bower-dependencies'], function(){
+ gulp.start('build');
+ gulp.start('build-css');
+});
+gulp.task('init-plugins-folder', function(){
+ if( !config.checkPath('plugins', true)) {
+ // something to do in plugins folder?
+ }
+});
+
+
+/**
+ * base commands: install, install-assets
+ */
+
+gulp.task('install-assets', function(){
+ gulp.start('install');
+});
+
+gulp.task('install', ['clean:assetsPath'], function(){
+
+ // ensure plugins path exists
+ gulp.start('init-plugins-folder');
+ gulp.start('build-dependencies');
+});
diff --git a/resources/gulp/styles.js b/resources/gulp/styles.js
new file mode 100644
index 0000000000..01b5431bb1
--- /dev/null
+++ b/resources/gulp/styles.js
@@ -0,0 +1,10 @@
+var gulp = require('gulp');
+var config = require('./config.js');
+var utils = require('./utils.js');
+
+
+
+gulp.task('build-css', function () {
+ utils.buildCssGroup([config.paths.src + 'oauth/main.scss'], 'oauth', 'oauth/css/');
+
+});
\ No newline at end of file
diff --git a/resources/gulp/test.js b/resources/gulp/test.js
new file mode 100644
index 0000000000..fbe251721c
--- /dev/null
+++ b/resources/gulp/test.js
@@ -0,0 +1,13 @@
+var gulp = require('gulp');
+var qunit = require('gulp-qunit');
+
+var config = require('./config.js');
+
+gulp.task('test-components', function () {
+ return gulp.start('test-prod');
+});
+
+// JS fixtures should be present (./bin/developer phraseanet:generate-js-fixtures)
+// Note: fixture are loaded into scripts/tests/fixtures directory using
+// bin/developer phraseanet:regenerate-js-fixtures
+gulp.task('test', ['test-components']);
\ No newline at end of file
diff --git a/resources/gulp/utils.js b/resources/gulp/utils.js
new file mode 100644
index 0000000000..b77eb2b9a3
--- /dev/null
+++ b/resources/gulp/utils.js
@@ -0,0 +1,69 @@
+var gulp = require('gulp');
+var gutil = require('gulp-util');
+var rename = require('gulp-rename');
+var concat = require('gulp-concat');
+var uglify = require('gulp-uglify');
+var cssmin = require('gulp-cssmin');
+var sass = require('gulp-sass');
+var config = require('./config.js');
+var debug = require('gulp-debug');
+var autoprefixer = require('gulp-autoprefixer');
+var fs = require('fs');
+
+
+exports.buildJsGroup = function(srcGroup, name, dest, debugMode){
+ if( dest === undefined ) {
+ dest = name;
+ }
+ // ensure all required files exists:
+ srcGroup.forEach(fs.statSync); //will trow an error if file not found
+ // console.log('building group:', name, ' > ', config.paths.build + dest)
+
+
+ if( debugMode === true ) {
+ gutil.log(gutil.colors.red('[DEBUG MODE]'), ' "' + name + '" minified version has not been generated');
+ return gulp.src(srcGroup)
+ .pipe(concat(name + '.js', {newLine: ';'}))
+ .pipe(gulp.dest( config.paths.build + dest))
+ .pipe(gulp.dest( config.paths.build + dest))
+ }
+
+ return gulp.src(srcGroup)
+ .pipe(concat(name + '.js', {newLine: ';'}))
+ .pipe(gulp.dest( config.paths.build + dest))
+ .pipe(uglify({
+ compress: {
+ drop_console: true
+ }
+ }).on('error', config.errorHandler('UGLIFY ERROR'))) //util.log))
+ .pipe(rename({ extname: '.min.js' }))
+ .pipe(gulp.dest( config.paths.build + dest))
+};
+
+exports.buildCssGroup = function(srcGroup, name, dest, debugMode){
+ if( dest === undefined ) {
+ dest = name;
+ }
+ // ensure all required files exists:
+ srcGroup.forEach(fs.statSync); //will trow an error if file not found
+ // console.log('building group:', name, ' > ', config.paths.build + dest)
+
+
+ if( debugMode === true ) {
+ gutil.log(gutil.colors.red('[DEBUG MODE]'), ' "' + name + '" minified version has not been generated');
+ return gulp.src(srcGroup)
+ .pipe(sass().on('error', sass.logError))
+ .pipe(autoprefixer())
+ .pipe(rename(name + '.css'))
+ .pipe(gulp.dest(config.paths.build + dest))
+ }
+
+ return gulp.src(srcGroup)
+ .pipe(sass().on('error', sass.logError))
+ .pipe(autoprefixer())
+ .pipe(rename(name + '.css'))
+ .pipe(gulp.dest(config.paths.build + dest))
+ .pipe(cssmin())
+ .pipe(rename({suffix: '.min'}))
+ .pipe(gulp.dest(config.paths.build + dest));
+};
\ No newline at end of file
diff --git a/resources/gulp/watch.js b/resources/gulp/watch.js
new file mode 100644
index 0000000000..576d25270e
--- /dev/null
+++ b/resources/gulp/watch.js
@@ -0,0 +1,52 @@
+var gulp = require('gulp');
+var util = require('gulp-util');
+var config = require('./config.js');
+var debug = require('gulp-debug');
+var fs = require('fs');
+var utils = require('./utils.js');
+
+gulp.task('watch-css', function(){
+ gulp.start('watch-common-css');
+ gulp.start('watch-oauth-css');
+ gulp.start('watch-prod-css');
+ gulp.start('watch-thesaurus-css');
+ //gulp.start('watch-uploadFlash');
+ gulp.start('watch-lightbox-css');
+ gulp.start('watch-admin-css');
+ gulp.start('watch-report-css');
+ gulp.start('watch-account-css');
+ // gulp.start('watch-permaview');
+ gulp.start('watch-setup-css');
+ gulp.start('watch-authentication-css');
+});
+
+gulp.task('watch-js', function(){
+ gulp.start('watch-common-js');
+ // gulp.start('watch-oauth-js');
+ gulp.start('watch-prod-js');
+ gulp.start('watch-thesaurus-js');
+ //gulp.start('watch-uploadFlash');
+ gulp.start('watch-lightbox-js');
+ gulp.start('watch-admin-js');
+ gulp.start('watch-report-js');
+ gulp.start('watch-account-js');
+ // gulp.start('watch-permaview');
+ gulp.start('watch-setup-js');
+ gulp.start('watch-authentication-js');
+});
+
+gulp.task('watch', function(){
+ gulp.start('watch-css');
+ gulp.start('watch-js');
+});
+
+var browserSync = require('browser-sync').create();
+
+gulp.task('sync', ['watch'], function(){
+ // will open browser in http://localhost:3000/
+ browserSync.init({
+ proxy: "phraseanet-php55-nginx"
+ });
+ gulp.watch(config.paths.build + '**/*.css').on('change', browserSync.reload);
+ gulp.watch(config.paths.build + '**/*.js').on('change', browserSync.reload);
+});
diff --git a/resources/vagrant/config/phraseanet/configuration.yml b/resources/vagrant/config/phraseanet/configuration.yml
index 3237c114e2..f897cfe0ce 100644
--- a/resources/vagrant/config/phraseanet/configuration.yml
+++ b/resources/vagrant/config/phraseanet/configuration.yml
@@ -60,7 +60,6 @@ main:
ffprobe_binary: null
mp4box_binary: null
pdftotext_binary: null
- recess_binary: null
ffmpeg_timeout: 3600
ffprobe_timeout: 60
gs_timeout: 60
diff --git a/resources/vagrant/vms/phraseanet-php55-nginx/puphpet/files/exec-once/setup b/resources/vagrant/vms/phraseanet-php55-nginx/puphpet/files/exec-once/setup
index da7e0232d1..19a93088d3 100644
--- a/resources/vagrant/vms/phraseanet-php55-nginx/puphpet/files/exec-once/setup
+++ b/resources/vagrant/vms/phraseanet-php55-nginx/puphpet/files/exec-once/setup
@@ -70,10 +70,6 @@ find . -maxdepth 1 -type f -exec rm {} \;
sudo cp -rf * /usr/local/
# npm binaries
-sudo npm install -g recess
-sudo npm install -g grunt-cli
-sudo npm install -g bower
-sudo npm install -g uglify-js
#twig
cd /tmp
@@ -116,8 +112,6 @@ then
cd /var/www/phraseanet
sudo -u vagrant composer install -n --prefer-source --dev
sudo -u vagrant npm install
- sudo -u vagrant grunt install-assets
- sudo -u vagrant bin/developer assets:compile-less
sudo -u vagrant rm -f /var/www/phraseanet/lib/conf.d/configuration.yml
mv /var/www/phraseanet/lib/conf.d/configuration.yml.bkp /var/www/phraseanet/lib/conf.d/configuration.yml
fi
diff --git a/www/skins/geonames/geonames.css b/resources/www/_shared/styles/_geonames.scss
similarity index 81%
rename from www/skins/geonames/geonames.css
rename to resources/www/_shared/styles/_geonames.scss
index 32d94235d9..52cef1b666 100644
--- a/www/skins/geonames/geonames.css
+++ b/resources/www/_shared/styles/_geonames.scss
@@ -1,3 +1,4 @@
+@import 'variables';
.geocompleter-menu {
max-height: 180px;
overflow-y: auto;
@@ -13,7 +14,7 @@
}
.geocompleter-input.input-loading {
- background: url('/skins/icons/loaderFFF.gif') #fff center right no-repeat;
+ background: url('#{$iconsPath}loaderFFF.gif') #fff center right no-repeat;
}
.geocompleter-input.input-error {
diff --git a/resources/www/_shared/styles/_main-menu.scss b/resources/www/_shared/styles/_main-menu.scss
new file mode 100644
index 0000000000..be666e273d
--- /dev/null
+++ b/resources/www/_shared/styles/_main-menu.scss
@@ -0,0 +1,98 @@
+// @import 'variables';
+$mainMenuHeight: 40px !default;
+$mainMenuLineHeight: 36px !default;
+$mainMenuBackgroundColor: #fceb3f !default;
+$mainMenuLinkColor: #000000 !default;
+$mainMenuLinkHoverColor: #fffbcd !default;
+$mainMenuLinkActiveColor: #FFFFFF !default;
+$mainMenuLinkBackgroundHoverColor: transparent !default;
+$mainMenuLinkHoverColor: #000000 !default;
+$mainMenuMarginBottom: 0 !default;
+$mainMenuBottomBorder: none !default;
+
+#mainMenu {
+ height: $mainMenuHeight;
+ line-height: $mainMenuLineHeight;
+ vertical-align: middle;
+ background-color: $mainMenuBackgroundColor;
+ border-bottom: $mainMenuBottomBorder;
+ margin-bottom: $mainMenuMarginBottom;
+ z-index: 100;
+ box-sizing: border-box;
+ ol {
+ display: block;
+ margin: 0;
+ padding: 0;
+ list-style: none outside none;
+ }
+ #mainLogo {
+ margin:0 10px;
+ margin-top: 3px;
+
+ }
+ li {
+ display: inline-block;
+ float: left;
+ line-height: $mainMenuLineHeight;
+ padding: 0;
+ position: relative;
+ vertical-align: top;
+ height: $mainMenuHeight; //
+ a {
+ text-decoration: none;
+ display: inline-block;
+ color: $mainMenuLinkColor;
+ > span {
+ font-size: $xmediumFontSize;
+ font-weight: normal;
+ border-top: 3px solid transparent;
+ display: block;
+ padding: 0 5px;
+ height: $mainMenuHeight - 3;
+ &.selected {
+ border-top: 3px solid $mainMenuLinkActiveColor;
+ }
+ }
+ &:hover {
+ background-color: $mainMenuLinkBackgroundHoverColor;
+ color: $mainMenuLinkHoverColor;
+ }
+ }
+ }
+ /*li , li span {//
+ height: $mainMenuLineHeight;
+ line-height: $mainMenuLineHeight;
+ }
+ */
+ .title {
+ font-size: 18px;
+ color: #F7F7F7;
+ margin: 0 5px;
+ height: $mainMenuHeight;
+ display: block;
+ vertical-align: middle;
+ }
+ #notification_box a {
+ margin-left: 0;
+ }
+ .account a {
+ text-decoration: underline;
+ }
+ .right {
+ li {
+ // border-left: 1px solid $mainMenuRightListBorderLeft;
+ a {
+ > span {
+ padding: 0 15px;
+ }
+ }
+
+ &.user {
+ a {
+ background: url('#{$iconsPath}icon_user.png') 15px 7px no-repeat;
+ padding-left: 41px;
+ }
+ }
+ }
+ }
+}
diff --git a/resources/www/_shared/styles/_notification.scss b/resources/www/_shared/styles/_notification.scss
new file mode 100644
index 0000000000..1431c64b7e
--- /dev/null
+++ b/resources/www/_shared/styles/_notification.scss
@@ -0,0 +1,104 @@
+@import 'variables';
+
+#notification_trigger{
+ cursor:pointer;
+}
+
+#notification_trigger .counter{
+ border:1px solid white;
+ background:red;
+ -moz-border-radius:8px;
+ -webkit-border-radius:8px;
+ font-size:10px;
+ font-weight:bold;
+ display:inline-block;
+ line-height:12px;
+ margin:0;
+ padding:2px 4px;
+}
+
+#notification_trigger.open a span{
+ color:black;
+}
+
+#notification_trigger.open{
+ background-color:white;
+ border-bottom:1px solid white;
+}
+
+#notification_trigger.unread{
+
+}
+
+
+#notification_box{
+ background-color:white;
+ border:1px solid black;
+ border-top:none;
+ position:absolute;
+ height:150px;
+ top:30px;
+ overflow-y:auto;
+ overflow-x:hidden;
+ z-index:668;
+ right:20px;
+ color:black;
+}
+
+#notification_box div.notification span.time{
+ color:#414141;
+ font-size:11px;
+ white-space:nowrap;
+ margin-left:0;
+}
+
+#notification_box div.notification a{
+ color:#999999;
+ text-decoration:none;
+}
+
+#notification_box div.notification a:hover{
+ text-decoration:underline;
+}
+
+#notification_box div.notification{
+ padding:5px 10px;
+}
+#notification_box div.notification.hover{
+ background-color:#E1E1E1;
+}
+
+#notification_box div.notification.unread{
+ background-color:#E1E1E1;
+}
+
+#notification_box div.notification_title a{
+ font-size:13px;
+ font-weight:bold;
+ color:blue;
+}
+
+#notification_box div.notification_title{
+ text-align:center;
+ padding:10px 0;
+}
+
+#notifications-dialog a{
+ color:#999999;
+}
+#notifications-dialog a:hover{
+ color:#D9D9D9;
+ text-decoration:underline
+}
+
+#notifications-dialog .time{
+ font-size:10px;
+ color:#666666;
+}
+#notifications-dialog .notification_title{
+ padding:10px 0 5px;
+}
+#notifications-dialog .notification_next{
+ text-align:center;
+ padding:15px 0;
+}
\ No newline at end of file
diff --git a/resources/www/_shared/styles/_override-bootstrap.scss b/resources/www/_shared/styles/_override-bootstrap.scss
new file mode 100644
index 0000000000..67a41e08d0
--- /dev/null
+++ b/resources/www/_shared/styles/_override-bootstrap.scss
@@ -0,0 +1,4 @@
+/** override hardcoded value in bootstrap2 */
+.dropdown-menu {
+ @include border-radius($borderRadiusSmall);
+}
\ No newline at end of file
diff --git a/resources/www/_shared/styles/_variables.scss b/resources/www/_shared/styles/_variables.scss
new file mode 100644
index 0000000000..e535d95d82
--- /dev/null
+++ b/resources/www/_shared/styles/_variables.scss
@@ -0,0 +1,17 @@
+$FontAwesomePath: '/assets/common/font' !default; // dist path
+$iconsPath: '/assets/common/images/icons/' !default;
+
+$mainMenuHeight: 40px !default;
+$mainMenuLineHeight: 36px !default;
+
+
+$baseBorderRadius: 3px !default;
+$borderRadiusLarge: 4px !default;
+$borderRadiusSmall: 2px !default;
+
+
+$defaultFontFamily: Helvetica, Arial, sans-serif;
+$xsmallFontSize: 8px;
+$smallFontSize: 10px;
+$xmediumFontSize: 12px;
+$mediumFontSize: 13px;
diff --git a/www/skins/report/jquery-ui-theme/report-base/jquery-ui-1.10.3.custom.css b/resources/www/_shared/styles/jquery-ui/_shared.scss
similarity index 57%
rename from www/skins/report/jquery-ui-theme/report-base/jquery-ui-1.10.3.custom.css
rename to resources/www/_shared/styles/jquery-ui/_shared.scss
index e8355c138e..d7e8b6102c 100644
--- a/www/skins/report/jquery-ui-theme/report-base/jquery-ui-1.10.3.custom.css
+++ b/resources/www/_shared/styles/jquery-ui/_shared.scss
@@ -1,65 +1,60 @@
-/*! jQuery UI - v1.10.3 - 2013-09-26
-* 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, jquery.ui.theme.css
-* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=202020&bgTextureHeader=flat&bgImgOpacityHeader=75&borderColorHeader=202020&fcHeader=222222&iconColorHeader=222222&bgColorContent=555555&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=202020&fcContent=ff9000&iconColorContent=222222&bgColorDefault=313131&bgTextureDefault=flat&bgImgOpacityDefault=75&borderColorDefault=202020&fcDefault=ffffff&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=555555&bgTextureActive=flat&bgImgOpacityActive=65&borderColorActive=202020&fcActive=ff9000&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=inset_soft&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
- display: none;
+ 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;
+ 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;
+ 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;
- border-collapse: collapse;
+ content: "";
+ display: table;
+ border-collapse: collapse;
}
.ui-helper-clearfix:after {
- clear: both;
+ clear: both;
}
.ui-helper-clearfix {
- min-height: 0; /* support: IE7 */
+ min-height: 0; /* support: IE7 */
}
.ui-helper-zfix {
- width: 100%;
- height: 100%;
- top: 0;
- left: 0;
- position: absolute;
- opacity: 0;
- filter:Alpha(Opacity=0);
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ position: absolute;
+ opacity: 0;
+ filter:Alpha(Opacity=0);
}
.ui-front {
- z-index: 100;
+ z-index: 100;
}
/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
- cursor: default !important;
+ cursor: default !important;
}
@@ -68,10 +63,10 @@
/* states and images */
.ui-icon {
- display: block;
- text-indent: -99999px;
- overflow: hidden;
- background-repeat: no-repeat;
+ display: block;
+ text-indent: -99999px;
+ overflow: hidden;
+ background-repeat: no-repeat;
}
@@ -80,180 +75,180 @@
/* Overlays */
.ui-widget-overlay {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
}
.ui-resizable {
- position: relative;
+ position: relative;
}
.ui-resizable-handle {
- position: absolute;
- font-size: 0.1px;
- display: block;
+ position: absolute;
+ font-size: 0.1px;
+ display: block;
}
.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
- display: none;
+ display: none;
}
.ui-resizable-n {
- cursor: n-resize;
- height: 7px;
- width: 100%;
- top: -5px;
- left: 0;
+ 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;
+ 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%;
+ 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%;
+ 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;
+ 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;
+ 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;
+ 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;
+ cursor: ne-resize;
+ width: 9px;
+ height: 9px;
+ right: -5px;
+ top: -5px;
}
.ui-selectable-helper {
- position: absolute;
- z-index: 100;
- border: 1px dotted black;
+ 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;
- min-height: 0; /* support: IE7 */
+ display: block;
+ cursor: pointer;
+ position: relative;
+ margin-top: 2px;
+ padding: .5em .5em .5em .7em;
+ min-height: 0; /* support: IE7 */
}
.ui-accordion .ui-accordion-icons {
- padding-left: 2.2em;
+ padding-left: 2.2em;
}
.ui-accordion .ui-accordion-noicons {
- padding-left: .7em;
+ padding-left: .7em;
}
.ui-accordion .ui-accordion-icons .ui-accordion-icons {
- padding-left: 2.2em;
+ padding-left: 2.2em;
}
.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
- position: absolute;
- left: .5em;
- top: 50%;
- margin-top: -8px;
+ position: absolute;
+ left: .5em;
+ top: 50%;
+ margin-top: -8px;
}
.ui-accordion .ui-accordion-content {
- padding: 1em 2.2em;
- border-top: 0;
- overflow: auto;
+ padding: 1em 2.2em;
+ border-top: 0;
+ overflow: auto;
}
.ui-autocomplete {
- position: absolute;
- top: 0;
- left: 0;
- cursor: default;
+ position: absolute;
+ top: 0;
+ left: 0;
+ cursor: default;
}
.ui-button {
- display: inline-block;
- position: relative;
- padding: 0;
- line-height: normal;
- margin-right: .1em;
- cursor: pointer;
- vertical-align: middle;
- text-align: center;
- overflow: visible; /* removes extra width in IE */
+ display: inline-block;
+ position: relative;
+ padding: 0;
+ line-height: normal;
+ margin-right: .1em;
+ cursor: pointer;
+ vertical-align: middle;
+ text-align: center;
+ overflow: visible; /* removes extra width in IE */
}
.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
- text-decoration: none;
+ text-decoration: none;
}
/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
- width: 2.2em;
+ width: 2.2em;
}
/* button elements seem to need a little more width */
button.ui-button-icon-only {
- width: 2.4em;
+ width: 2.4em;
}
.ui-button-icons-only {
- width: 3.4em;
+ width: 3.4em;
}
button.ui-button-icons-only {
- width: 3.7em;
+ width: 3.7em;
}
/* button text element */
.ui-button .ui-button-text {
- display: block;
- line-height: normal;
+ display: block;
+ line-height: normal;
}
.ui-button-text-only .ui-button-text {
- padding: .4em 1em;
+ padding: .4em 1em;
}
.ui-button-icon-only .ui-button-text,
.ui-button-icons-only .ui-button-text {
- padding: .4em;
- text-indent: -9999999px;
+ 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;
+ 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;
+ padding: .4em 2.1em .4em 1em;
}
.ui-button-text-icons .ui-button-text {
- padding-left: 2.1em;
- padding-right: 2.1em;
+ padding-left: 2.1em;
+ padding-right: 2.1em;
}
/* no icon support for input elements, provide padding by default */
input.ui-button {
- padding: .4em 1em;
+ padding: .4em 1em;
}
/* button icon element(s) */
@@ -262,696 +257,545 @@ input.ui-button {
.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;
+ position: absolute;
+ top: 50%;
+ margin-top: -8px;
}
.ui-button-icon-only .ui-icon {
- left: 50%;
- margin-left: -8px;
+ 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;
+ 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;
+ right: .5em;
}
/* button sets */
.ui-buttonset {
- margin-right: 7px;
+ margin-right: 7px;
}
.ui-buttonset .ui-button {
- margin-left: 0;
- margin-right: -.3em;
+ margin-left: 0;
+ margin-right: -.3em;
}
/* workarounds */
/* reset extra padding in Firefox, see h5bp.com/l */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
- border: 0;
- padding: 0;
+ border: 0;
+ padding: 0;
}
.ui-datepicker {
- width: 17em;
- padding: .2em .2em 0;
- display: none;
+ width: 17em;
+ padding: .2em .2em 0;
+ display: none;
}
.ui-datepicker .ui-datepicker-header {
- position: relative;
- padding: .2em 0;
+ 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;
+ position: absolute;
+ top: 2px;
+ width: 1.8em;
+ height: 1.8em;
}
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
- top: 1px;
+ top: 1px;
}
.ui-datepicker .ui-datepicker-prev {
- left: 2px;
+ left: 2px;
}
.ui-datepicker .ui-datepicker-next {
- right: 2px;
+ right: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
- left: 1px;
+ left: 1px;
}
.ui-datepicker .ui-datepicker-next-hover {
- right: 1px;
+ 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;
+ 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;
+ margin: 0 2.3em;
+ line-height: 1.8em;
+ text-align: center;
}
.ui-datepicker .ui-datepicker-title select {
- font-size: 1em;
- margin: 1px 0;
+ //font-size: 1em;
+ margin: 1px 0;
}
.ui-datepicker select.ui-datepicker-month-year {
- width: 100%;
+ width: 100%;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
- width: 49%;
+ width: 49%;
}
.ui-datepicker table {
- width: 100%;
- font-size: .9em;
- border-collapse: collapse;
- margin: 0 0 .4em;
+ 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;
+ padding: .7em .3em;
+ text-align: center;
+ font-weight: bold;
+ border: 0;
}
.ui-datepicker td {
- border: 0;
- padding: 1px;
+ border: 0;
+ padding: 1px;
}
.ui-datepicker td span,
.ui-datepicker td a {
- display: block;
- padding: .2em;
- text-align: right;
- text-decoration: none;
+ 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;
+ 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;
+ 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;
+ float: left;
}
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
- width: auto;
+ width: auto;
}
.ui-datepicker-multi .ui-datepicker-group {
- float: left;
+ float: left;
}
.ui-datepicker-multi .ui-datepicker-group table {
- width: 95%;
- margin: 0 auto .4em;
+ width: 95%;
+ margin: 0 auto .4em;
}
.ui-datepicker-multi-2 .ui-datepicker-group {
- width: 50%;
+ width: 50%;
}
.ui-datepicker-multi-3 .ui-datepicker-group {
- width: 33.3%;
+ width: 33.3%;
}
.ui-datepicker-multi-4 .ui-datepicker-group {
- width: 25%;
+ width: 25%;
}
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
- border-left-width: 0;
+ border-left-width: 0;
}
.ui-datepicker-multi .ui-datepicker-buttonpane {
- clear: left;
+ clear: left;
}
.ui-datepicker-row-break {
- clear: both;
- width: 100%;
- font-size: 0;
+ clear: both;
+ width: 100%;
+ font-size: 0;
}
/* RTL support */
.ui-datepicker-rtl {
- direction: rtl;
+ direction: rtl;
}
.ui-datepicker-rtl .ui-datepicker-prev {
- right: 2px;
- left: auto;
+ right: 2px;
+ left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next {
- left: 2px;
- right: auto;
+ left: 2px;
+ right: auto;
}
.ui-datepicker-rtl .ui-datepicker-prev:hover {
- right: 1px;
- left: auto;
+ right: 1px;
+ left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next:hover {
- left: 1px;
- right: auto;
+ left: 1px;
+ right: auto;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane {
- clear: right;
+ clear: right;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
- float: left;
+ float: left;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
- float: right;
+ float: right;
}
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
- border-right-width: 0;
- border-left-width: 1px;
+ border-right-width: 0;
+ border-left-width: 1px;
}
.ui-dialog {
- position: absolute;
- top: 0;
- left: 0;
- padding: .2em;
- outline: 0;
+ position: absolute;
+ top: 0;
+ left: 0;
+ padding: .2em;
+ outline: 0;
}
.ui-dialog .ui-dialog-titlebar {
- padding: .4em 1em;
- position: relative;
+ padding: .4em 1em;
+ position: relative;
}
.ui-dialog .ui-dialog-title {
- float: left;
- margin: .1em 0;
- white-space: nowrap;
- width: 90%;
- overflow: hidden;
- text-overflow: ellipsis;
+ float: left;
+ margin: .1em 0;
+ white-space: nowrap;
+ width: 90%;
+ overflow: hidden;
+ text-overflow: ellipsis;
}
.ui-dialog .ui-dialog-titlebar-close {
- position: absolute;
- right: .3em;
- top: 50%;
- width: 21px;
- margin: -10px 0 0 0;
- padding: 1px;
- height: 20px;
+ position: absolute;
+ right: .3em;
+ top: 50%;
+ width: 21px;
+ margin: -10px 0 0 0;
+ padding: 1px;
+ height: 20px;
}
.ui-dialog .ui-dialog-content {
- position: relative;
- border: 0;
- padding: .5em 1em;
- background: none;
- overflow: auto;
+ position: relative;
+ border: 0;
+ padding: .5em 1em;
+ background: none;
+ overflow: auto;
}
.ui-dialog .ui-dialog-buttonpane {
- text-align: left;
- border-width: 1px 0 0 0;
- background-image: none;
- margin-top: .5em;
- padding: .3em 1em .5em .4em;
+ text-align: left;
+ border-width: 1px 0 0 0;
+ background-image: none;
+ margin-top: .5em;
+ padding: .3em 1em .5em .4em;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
- float: right;
+ float: right;
}
.ui-dialog .ui-dialog-buttonpane button {
- margin: .5em .4em .5em 0;
- cursor: pointer;
+ margin: .5em .4em .5em 0;
+ cursor: pointer;
}
.ui-dialog .ui-resizable-se {
- width: 12px;
- height: 12px;
- right: -5px;
- bottom: -5px;
- background-position: 16px 16px;
+ width: 12px;
+ height: 12px;
+ right: -5px;
+ bottom: -5px;
+ background-position: 16px 16px;
}
.ui-draggable .ui-dialog-titlebar {
- cursor: move;
+ cursor: move;
}
.ui-menu {
- list-style: none;
- padding: 2px;
- margin: 0;
- display: block;
- outline: none;
+ list-style: none;
+ padding: 2px;
+ margin: 0;
+ display: block;
+ outline: none;
}
.ui-menu .ui-menu {
- margin-top: -3px;
- position: absolute;
+ margin-top: -3px;
+ position: absolute;
}
.ui-menu .ui-menu-item {
- margin: 0;
- padding: 0;
- width: 100%;
- /* support: IE10, see #8844 */
- list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
+ margin: 0;
+ padding: 0;
+ width: 100%;
+ /* support: IE10, see #8844 */
+ list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
}
.ui-menu .ui-menu-divider {
- margin: 5px -2px 5px -2px;
- height: 0;
- font-size: 0;
- line-height: 0;
- border-width: 1px 0 0 0;
+ 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;
- min-height: 0; /* support: IE7 */
- font-weight: normal;
+ text-decoration: none;
+ display: block;
+ padding: 2px .4em;
+ line-height: 1.5;
+ min-height: 0; /* support: IE7 */
+ 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;
+ font-weight: normal;
+ margin: -1px;
}
.ui-menu .ui-state-disabled {
- font-weight: normal;
- margin: .4em 0 .2em;
- line-height: 1.5;
+ font-weight: normal;
+ margin: .4em 0 .2em;
+ line-height: 1.5;
}
.ui-menu .ui-state-disabled a {
- cursor: default;
+ cursor: default;
}
/* icon support */
.ui-menu-icons {
- position: relative;
+ position: relative;
}
.ui-menu-icons .ui-menu-item a {
- position: relative;
- padding-left: 2em;
+ position: relative;
+ padding-left: 2em;
}
/* left-aligned */
.ui-menu .ui-icon {
- position: absolute;
- top: .2em;
- left: .2em;
+ position: absolute;
+ top: .2em;
+ left: .2em;
}
/* right-aligned */
.ui-menu .ui-menu-icon {
- position: static;
- float: right;
+ position: static;
+ float: right;
}
.ui-progressbar {
- height: 2em;
- text-align: left;
- overflow: hidden;
+ height: 2em;
+ text-align: left;
+ overflow: hidden;
}
.ui-progressbar .ui-progressbar-value {
- margin: -1px;
- height: 100%;
+ margin: -1px;
+ height: 100%;
}
.ui-progressbar .ui-progressbar-overlay {
- background: url("images/animated-overlay.gif");
- height: 100%;
- filter: alpha(opacity=25);
- opacity: 0.25;
+ background: url('#{$imagesPath}animated-overlay.gif');
+ height: 100%;
+ filter: alpha(opacity=25);
+ opacity: 0.25;
}
.ui-progressbar-indeterminate .ui-progressbar-value {
- background-image: none;
+ background-image: none;
}
.ui-slider {
- position: relative;
- text-align: left;
+ position: relative;
+ text-align: left;
}
.ui-slider .ui-slider-handle {
- position: absolute;
- z-index: 2;
- width: 1.2em;
- height: 1.2em;
- cursor: default;
+ 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;
+ position: absolute;
+ z-index: 1;
+ font-size: .7em;
+ display: block;
+ border: 0;
+ background-position: 0 0;
}
/* For IE8 - See #6727 */
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range {
- filter: inherit;
+ filter: inherit;
}
.ui-slider-horizontal {
- height: .8em;
+ height: .8em;
}
.ui-slider-horizontal .ui-slider-handle {
- top: -.3em;
- margin-left: -.6em;
+ top: -.3em;
+ margin-left: -.6em;
}
.ui-slider-horizontal .ui-slider-range {
- top: 0;
- height: 100%;
+ top: 0;
+ height: 100%;
}
.ui-slider-horizontal .ui-slider-range-min {
- left: 0;
+ left: 0;
}
.ui-slider-horizontal .ui-slider-range-max {
- right: 0;
+ right: 0;
}
.ui-slider-vertical {
- width: .8em;
- height: 100px;
+ width: .8em;
+ height: 100px;
}
.ui-slider-vertical .ui-slider-handle {
- left: -.3em;
- margin-left: 0;
- margin-bottom: -.6em;
+ left: -.3em;
+ margin-left: 0;
+ margin-bottom: -.6em;
}
.ui-slider-vertical .ui-slider-range {
- left: 0;
- width: 100%;
+ left: 0;
+ width: 100%;
}
.ui-slider-vertical .ui-slider-range-min {
- bottom: 0;
+ bottom: 0;
}
.ui-slider-vertical .ui-slider-range-max {
- top: 0;
+ top: 0;
}
.ui-spinner {
- position: relative;
- display: inline-block;
- overflow: hidden;
- padding: 0;
- vertical-align: middle;
+ position: relative;
+ display: inline-block;
+ overflow: hidden;
+ padding: 0;
+ vertical-align: middle;
}
.ui-spinner-input {
- border: none;
- background: none;
- color: inherit;
- padding: 0;
- margin: .2em 0;
- vertical-align: middle;
- margin-left: .4em;
- margin-right: 22px;
+ border: none;
+ background: none;
+ color: inherit;
+ 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;
+ width: 16px;
+ height: 50%;
+ font-size: .5em;
+ padding: 0;
+ margin: 0;
+ text-align: center;
+ position: absolute;
+ cursor: default;
+ display: block;
+ overflow: hidden;
+ right: 0;
}
/* more specificity required here to overide default borders */
.ui-spinner a.ui-spinner-button {
- border-top: none;
- border-bottom: none;
- border-right: none;
+ border-top: none;
+ border-bottom: none;
+ border-right: none;
}
/* vertical centre icon */
.ui-spinner .ui-icon {
- position: absolute;
- margin-top: -8px;
- top: 50%;
- left: 0;
+ position: absolute;
+ margin-top: -8px;
+ top: 50%;
+ left: 0;
}
.ui-spinner-up {
- top: 0;
+ top: 0;
}
.ui-spinner-down {
- bottom: 0;
+ bottom: 0;
}
/* TR overrides */
.ui-spinner .ui-icon-triangle-1-s {
- /* need to fix icons sprite */
- background-position: -65px -16px;
+ /* need to fix icons sprite */
+ background-position: -65px -16px;
}
.ui-tabs {
- position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
- padding: .2em;
+ position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+ padding: .2em;
}
.ui-tabs .ui-tabs-nav {
- margin: 0;
- padding: .2em .2em 0;
+ 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-width: 0;
- padding: 0;
- white-space: nowrap;
+ list-style: none;
+ float: left;
+ position: relative;
+ top: 0;
+ margin: 1px .2em 0 0;
+ border-bottom-width: 0;
+ padding: 0;
+ white-space: nowrap;
}
.ui-tabs .ui-tabs-nav li a {
- float: left;
- padding: .5em 1em;
- text-decoration: none;
+ float: left;
+ padding: .5em 1em;
+ text-decoration: none;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
- margin-bottom: -1px;
- padding-bottom: 1px;
+ 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;
+ cursor: text;
}
.ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
- cursor: pointer;
+ cursor: pointer;
}
.ui-tabs .ui-tabs-panel {
- display: block;
- border-width: 0;
- padding: 1em 1.4em;
- background: none;
+ 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;
+ padding: 8px;
+ position: absolute;
+ z-index: 9999;
+ max-width: 300px;
+ -webkit-box-shadow: 0 0 5px #aaa;
+ box-shadow: 0 0 5px #aaa;
}
body .ui-tooltip {
- border-width: 2px;
+ border-width: 2px;
}
/* Component containers
----------------------------------*/
+/* let bootstrap handle font-size
.ui-widget {
- font-family: Verdana,Arial,sans-serif;
- font-size: 1.1em;
+ font-family: Verdana,Arial,sans-serif;
+ font-size: 1.1em;
}
.ui-widget .ui-widget {
- font-size: 1em;
+ font-size: 1em;
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
- font-family: Verdana,Arial,sans-serif;
- font-size: 1em;
-}
-.ui-widget-content {
- border: 1px solid #202020;
- background: #555555 url(images/ui-bg_flat_75_d2d1cf_40x100.png) 50% 50% repeat-x;
- color: #ff9000;
-}
-.ui-widget-content a {
- color: #ff9000;
-}
-.ui-widget-header {
- border: 1px solid #202020;
- background: #202020 url(images/ui-bg_flat_75_d2d1cf_40x100.png) 50% 50% repeat-x;
- color: #222222;
- font-weight: bold;
-}
-.ui-widget-header a {
- color: #222222;
-}
+ font-family: Verdana,Arial,sans-serif;
+ font-size: 1em;
+}*/
-/* Interaction states
-----------------------------------*/
-.ui-state-default,
-.ui-widget-content .ui-state-default,
-.ui-widget-header .ui-state-default {
- border: 1px solid #202020;
- background: #313131 url(images/ui-bg_flat_75_d2d1cf_40x100.png) 50% 50% repeat-x;
- font-weight: bold;
- color: #ffffff;
-}
-.ui-state-default a,
-.ui-state-default a:link,
-.ui-state-default a:visited {
- color: #ffffff;
- 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 #999999;
- background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;
- font-weight: bold;
- color: #212121;
-}
-.ui-state-hover a,
-.ui-state-hover a:hover,
-.ui-state-hover a:link,
-.ui-state-hover a:visited {
- color: #212121;
- text-decoration: none;
-}
-.ui-state-active,
-.ui-widget-content .ui-state-active,
-.ui-widget-header .ui-state-active {
- border: 1px solid #202020;
- background: #555555 url(images/ui-bg_flat_75_d2d1cf_40x100.png) 50% 50% repeat-x;
- font-weight: bold;
- color: #ff9000;
-}
-.ui-state-active a,
-.ui-state-active a:link,
-.ui-state-active a:visited {
- color: #ff9000;
- text-decoration: none;
-}
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-highlight,
-.ui-widget-content .ui-state-highlight,
-.ui-widget-header .ui-state-highlight {
- border: 1px solid #fcefa1;
- background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% 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: #fef1ec url(images/ui-bg_inset-soft_95_fef1ec_1x100.png) 50% bottom repeat-x;
- color: #cd0a0a;
-}
-.ui-state-error a,
-.ui-widget-content .ui-state-error a,
-.ui-widget-header .ui-state-error a {
- color: #cd0a0a;
-}
-.ui-state-error-text,
-.ui-widget-content .ui-state-error-text,
-.ui-widget-header .ui-state-error-text {
- color: #cd0a0a;
-}
-.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;
-}
-.ui-icon,
-.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_222222_256x240.png);
-}
-.ui-state-default .ui-icon {
- background-image: url(images/ui-icons_888888_256x240.png);
-}
-.ui-state-hover .ui-icon,
-.ui-state-focus .ui-icon {
- background-image: url(images/ui-icons_454545_256x240.png);
-}
-.ui-state-active .ui-icon {
- background-image: url(images/ui-icons_454545_256x240.png);
-}
-.ui-state-highlight .ui-icon {
- background-image: url(images/ui-icons_2e83ff_256x240.png);
-}
-.ui-state-error .ui-icon,
-.ui-state-error-text .ui-icon {
- background-image: url(images/ui-icons_cd0a0a_256x240.png);
-}
/* positioning */
.ui-icon-blank { background-position: 16px 16px; }
@@ -1140,38 +984,23 @@ body .ui-tooltip {
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
- border-top-left-radius: 4px;
+ border-top-left-radius: 6px;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
- border-top-right-radius: 4px;
+ border-top-right-radius: 6px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
- border-bottom-left-radius: 4px;
+ border-bottom-left-radius: 6px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
- border-bottom-right-radius: 4px;
-}
-
-/* Overlays */
-.ui-widget-overlay {
- background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
- opacity: .3;
- filter: Alpha(Opacity=30);
-}
-.ui-widget-shadow {
- margin: -8px 0 0 -8px;
- padding: 8px;
- background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
- opacity: .3;
- filter: Alpha(Opacity=30);
- border-radius: 8px;
+ border-bottom-right-radius: 6px;
}
diff --git a/resources/www/_shared/styles/jquery-ui/dark-hive.scss b/resources/www/_shared/styles/jquery-ui/dark-hive.scss
new file mode 100644
index 0000000000..fabad0c41c
--- /dev/null
+++ b/resources/www/_shared/styles/jquery-ui/dark-hive.scss
@@ -0,0 +1,173 @@
+$imagesPath: '/assets/vendors/jquery-ui/images/dark-hive/';
+$uiTextContentColor: #ffffff !default;
+$uiTextTitleColor: #333333 !default;
+$uiLinkColor: #ffffff !default;
+$uiLinkFocusColor: #c77405 !default;
+$uiLinkActiveColor: #eb8f00 !default;
+@import './shared';
+.ui-widget-content {
+ border: 1px solid #555555;
+ background-color: #212121; // url('#{$imagesPath}ui-bg_loop_25_000000_21x21.png') 50% 50% repeat;
+ color: $uiTextContentColor;
+}
+.ui-widget-content a {
+ color: $uiLinkColor;
+}
+.ui-widget-header {
+ color: $uiLinkColor;
+ font-weight: bold;
+}
+.ui-widget-header a {
+ color: $uiLinkColor;
+}
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default,
+.ui-widget-content .ui-state-default,
+.ui-widget-header .ui-state-default {
+ border: 1px solid #444444;
+ background: #222222 url('#{$imagesPath}ui-bg_highlight-soft_35_222222_1x100.png') 50% 50% repeat-x;
+ font-weight: normal;
+ color: #eeeeee;
+}
+.ui-state-default a,
+.ui-state-default a:link,
+.ui-state-default a:visited {
+ color: #eeeeee;
+ 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 #0b93d5;
+ background: #003147 url('#{$imagesPath}ui-bg_highlight-soft_33_003147_1x100.png') 50% 50% repeat-x;
+ font-weight: normal;
+ color: #ffffff;
+}
+.ui-state-hover a,
+.ui-state-hover a:hover,
+.ui-state-hover a:link,
+.ui-state-hover a:visited {
+ color: #ffffff;
+ text-decoration: none;
+}
+.ui-state-active,
+.ui-widget-content .ui-state-active,
+.ui-widget-header .ui-state-active {
+ border: 1px solid #26b3f7;
+ background: #0972a5 url('#{$imagesPath}ui-bg_highlight-hard_20_0972a5_1x100.png') 50% 50% repeat-x;
+ font-weight: normal;
+ color: #ffffff;
+}
+.ui-state-active a,
+.ui-state-active a:link,
+.ui-state-active a:visited {
+ color: #ffffff;
+ text-decoration: none;
+}
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight,
+.ui-widget-content .ui-state-highlight,
+.ui-widget-header .ui-state-highlight {
+ border: 1px solid #cccccc;
+ background: #eeeeee url('#{$imagesPath}ui-bg_highlight-soft_80_eeeeee_1x100.png') 50% top repeat-x;
+ color: #2e7db2;
+}
+.ui-state-highlight a,
+.ui-widget-content .ui-state-highlight a,
+.ui-widget-header .ui-state-highlight a {
+ color: #2e7db2;
+}
+.ui-state-error,
+.ui-widget-content .ui-state-error,
+.ui-widget-header .ui-state-error {
+ border: 1px solid #ffb73d;
+ background: #ffc73d url('#{$imagesPath}ui-bg_glass_40_ffc73d_1x400.png') 50% 50% repeat-x;
+ color: #111111;
+}
+.ui-state-error a,
+.ui-widget-content .ui-state-error a,
+.ui-widget-header .ui-state-error a {
+ color: #111111;
+}
+.ui-state-error-text,
+.ui-widget-content .ui-state-error-text,
+.ui-widget-header .ui-state-error-text {
+ color: #111111;
+}
+.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;
+}
+.ui-icon,
+.ui-widget-content .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_cccccc_256x240.png');
+}
+.ui-widget-header .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_ffffff_256x240.png');
+}
+.ui-state-default .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_cccccc_256x240.png');
+}
+.ui-state-hover .ui-icon,
+.ui-state-focus .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_ffffff_256x240.png');
+}
+.ui-state-active .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_222222_256x240.png');
+}
+.ui-state-highlight .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_4b8e0b_256x240.png');
+}
+.ui-state-error .ui-icon,
+.ui-state-error-text .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_a83300_256x240.png');
+}
+
+/* Overlays */
+.ui-widget-overlay {
+ background: #5c5c5c url('#{$imagesPath}ui-bg_flat_50_5c5c5c_40x100.png') 50% 50% repeat-x;
+ opacity: .8;
+ filter: Alpha(Opacity=80);
+}
+.ui-widget-shadow {
+ margin: -7px 0 0 -7px;
+ padding: 7px;
+ background: #cccccc url('#{$imagesPath}ui-bg_flat_30_cccccc_40x100.png') 50% 50% repeat-x;
+ opacity: .6;
+ filter: Alpha(Opacity=60);
+ border-radius: 8px;
+}
\ No newline at end of file
diff --git a/resources/www/_shared/styles/jquery-ui/ui-lightness.scss b/resources/www/_shared/styles/jquery-ui/ui-lightness.scss
new file mode 100644
index 0000000000..3ef53c48ff
--- /dev/null
+++ b/resources/www/_shared/styles/jquery-ui/ui-lightness.scss
@@ -0,0 +1,175 @@
+$imagesPath: '/assets/vendors/jquery-ui/images/ui-lightness/';
+$uiTextContentColor: #333333 !default;
+$uiTextTitleColor: #333333 !default;
+$uiLinkColor: #ffffff !default;
+$uiLinkFocusColor: #c77405 !default;
+$uiLinkActiveColor: #eb8f00 !default;
+$uiLinkBorderFocusColor: $uiLinkFocusColor !default;
+@import './shared';
+
+.ui-widget-content {
+ border: 1px solid #dddddd;
+ background: #eeeeee url('#{$imagesPath}ui-bg_highlight-soft_100_eeeeee_1x100.png') 50% top repeat-x;
+ color: $uiTextContentColor;
+}
+.ui-widget-content a {
+ color: $uiLinkColor;
+}
+.ui-widget-header {
+ color: $uiTextTitleColor;
+ font-weight: bold;
+}
+.ui-widget-header a {
+ color: $uiLinkColor;
+}
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default,
+.ui-widget-content .ui-state-default,
+.ui-widget-header .ui-state-default {
+ border: 1px solid #cccccc;
+ background: #f6f6f6 url('#{$imagesPath}ui-bg_glass_100_f6f6f6_1x400.png') 50% 50% repeat-x;
+ font-weight: bold;
+ color: $uiTextTitleColor;
+}
+.ui-state-default a,
+.ui-state-default a:link,
+.ui-state-default a:visited {
+ color: $uiLinkColor;
+ 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 $uiLinkBorderFocusColor;
+ background: #fdf5ce url('#{$imagesPath}ui-bg_glass_100_fdf5ce_1x400.png') 50% 50% repeat-x;
+ font-weight: bold;
+ color: $uiLinkFocusColor;
+}
+.ui-state-hover a,
+.ui-state-hover a:hover,
+.ui-state-hover a:link,
+.ui-state-hover a:visited {
+ color: $uiLinkFocusColor;
+ text-decoration: none;
+}
+.ui-state-active,
+.ui-widget-content .ui-state-active,
+.ui-widget-header .ui-state-active {
+ border: 1px solid $uiLinkActiveColor;
+ background: #ffffff url('#{$imagesPath}ui-bg_glass_65_ffffff_1x400.png') 50% 50% repeat-x;
+ font-weight: bold;
+ color: $uiLinkActiveColor;
+}
+.ui-state-active a,
+.ui-state-active a:link,
+.ui-state-active a:visited {
+ color: $uiLinkActiveColor;
+ 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('#{$imagesPath}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: $uiLinkColor;
+}
+.ui-state-error,
+.ui-widget-content .ui-state-error,
+.ui-widget-header .ui-state-error {
+ border: 1px solid #cd0a0a;
+ background: #b81900 url('#{$imagesPath}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-imag1c94c4: none;
+}
+.ui-state-disabled .ui-icon {
+ filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
+}
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+ width: 16px;
+ height: 16px;
+}
+.ui-icon,
+.ui-widget-content .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_222222_256x240.png');
+}
+.ui-widget-header .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_ffffff_256x240.png');
+}
+.ui-state-default .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_222222_256x240.png');
+}
+.ui-state-hover .ui-icon,
+.ui-state-focus .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_222222_256x240.png');
+}
+.ui-state-active .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_222222_256x240.png');
+}
+.ui-state-highlight .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_228ef1_256x240.png');
+}
+.ui-state-error .ui-icon,
+.ui-state-error-text .ui-icon {
+ background-image: url('#{$imagesPath}ui-icons_ffd27a_256x240.png');
+}
+
+/* Overlays */
+.ui-widget-overlay {
+ background: #666666 url('#{$imagesPath}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('#{$imagesPath}ui-bg_flat_10_000000_40x100.png') 50% 50% repeat-x;
+ opacity: .2;
+ filter: Alpha(Opacity=20);
+ border-radius: 5px;
+}
\ No newline at end of file
diff --git a/resources/www/_shared/styles/main.scss b/resources/www/_shared/styles/main.scss
new file mode 100644
index 0000000000..688dc75f1b
--- /dev/null
+++ b/resources/www/_shared/styles/main.scss
@@ -0,0 +1,72 @@
+@import 'variables';
+
+/** skin/common/main.css */
+body {
+ margin: 0;
+ padding: 0;
+ font-family: $defaultFontFamily;
+ font-size: $mediumFontSize;
+ overflow: hidden;
+}
+
+
+img{
+ border:none;
+}
+
+#MODALDL{
+ z-index:1200;
+}
+
+#tooltip{
+ color:black;
+ position:absolute;
+ z-index:32000;
+ overflow:hidden;
+ hr{
+ margin: 8px 0;
+ }
+ .popover {
+ max-width: none;
+ width: auto;
+ }
+}
+
+.PNB
+{
+ position:absolute;
+ top:0;
+ left:0;
+ right:0;
+ bottom:0;
+}
+.PNB10
+{
+ position:absolute;
+ top:10px;
+ left:10px;
+ right:10px;
+ bottom:10px;
+}
+
+input.checkbox{
+ background:transparent;
+ border:none;
+}
+
+#ui-datepicker-div{
+ display:none;
+}
+
+
+.ui-dialog-titlebar {
+ min-height: 20px;
+}
+
+.ui-dialog[aria-describedby="p4_alerts"]{
+ z-index:2000 !important;
+}
+
+@import 'geonames';
+@import "notification";
+// @import "main-menu";
\ No newline at end of file
diff --git a/www/skins/account/account.js b/resources/www/account/js/account.js
similarity index 98%
rename from www/skins/account/account.js
rename to resources/www/account/js/account.js
index 7bac4ca374..541d69a579 100644
--- a/www/skins/account/account.js
+++ b/resources/www/account/js/account.js
@@ -58,7 +58,7 @@ $(document).ready(function () {
+ ' name="oauth_callback" size="50" type="text"/>'
);
- $(".url_callback").die();
+ $(".url_callback").off();
// save new callback
saveBtn.bind("click", function (e) {
@@ -100,7 +100,7 @@ $(document).ready(function () {
+ ' name="oauth_webhook" size="50" type="text"/>'
);
- $(".url_webhook").die();
+ $(".url_webhook").off();
// save new callback
saveBtn.bind("click", function (e) {
diff --git a/www/skins/login/less/skin.less b/resources/www/account/styles/_skin.scss
similarity index 69%
rename from www/skins/login/less/skin.less
rename to resources/www/account/styles/_skin.scss
index aeaaaa80b8..ab53ae6fd9 100644
--- a/www/skins/login/less/skin.less
+++ b/resources/www/account/styles/_skin.scss
@@ -82,8 +82,8 @@ textarea {
html,
body {
- background: @background;
- color: @textColor;
+ background: $background;
+ color: $textColor;
-webkit-font-smoothing: antialiased;
text-shadow: 0 0 1px rgba(0,0,0,0.3);
cursor: default;
@@ -99,8 +99,31 @@ ul {
/** Button style */
+.btn {
+ $glow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 7px rgba(0, 0, 0, 1);
+ @include glow($glow);
+ @include border-radius($borderRadiusSmall);
+ text-shadow : 0 -1px 0 rgba(0, 0, 0, 0.5);
+}
+
+.btn-success {
+ @include gradient ($btnSuccessBackground, 0.7);
+}
+
+.btn-info {
+ @include gradient ($btnInfoBackground, 0.7);
+}
+
+.btn-success:hover {
+ @include gradient ($btnSuccessBackgroundHighlight, 0.7);
+}
+
+.btn-info:hover {
+ @include gradient ($btnInfoBackgroundHighlight, 0.7);
+}
+
.btn-flat {
- filter:progid:DXImageTransform.Microsoft.Gradient(enabled='false');
+ filter:progid:DXImageTransform.Microsoft.gradient(enabled='false');
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
@@ -120,7 +143,7 @@ ul {
}
.text-error {
- color: @colorError;
+ color: $colorError;
}
.text-center {
@@ -147,7 +170,7 @@ ul {
}
.rounded {
- .border-radius(@borderRadiusSmall);
+ @include border-radius($borderRadiusSmall);
}
/** Recaptcha style */
@@ -173,11 +196,11 @@ ul {
}
.footer a {
- color: @footerLinkColor;
+ color: $footerLinkColor;
}
.footer a:hover {
- color: @footerLinkColorHover;
+ color: $footerLinkColorHover;
}
/** Alert style */
@@ -186,8 +209,8 @@ ul {
padding: 0px;
text-shadow: 0 -1px 0 rgba(0,0,0,.5);
line-height: 16px;
- @glow: 0 1px 7px rgba(0, 0, 0, 1);
- .glow(@glow);
+ $glow: 0 1px 7px rgba(0, 0, 0, 1);
+ @include glow($glow);
}
.alert .alert-block-close {
@@ -211,51 +234,51 @@ ul {
}
.alert.alert-success .alert-block-content {
- border-right: 1px solid lighten(@successBackground, 10%);
+ border-right: 1px solid lighten($successBackground, 10%);
}
.alert.alert-success .alert-block-close {
- border-left: 1px solid darken(@successBackground, 20%);
+ border-left: 1px solid darken($successBackground, 20%);
}
.alert.alert-success .alert-block-close a {
- color: @successText;
+ color: $successText;
}
.alert.alert-error .alert-block-content {
- border-right: 1px solid lighten(@errorBackground, 10%);
+ border-right: 1px solid lighten($errorBackground, 10%);
}
.alert.alert-error .alert-block-close {
- border-left: 1px solid darken(@errorBackground, 20%);
+ border-left: 1px solid darken($errorBackground, 20%);
}
.alert.alert-error .alert-block-close a {
- color: @errorText;
+ color: $errorText;
}
.alert.alert-info .alert-block-content {
- border-right: 1px solid lighten(@infoBackground, 10%);
+ border-right: 1px solid lighten($infoBackground, 10%);
}
.alert.alert-info .alert-block-close {
- border-left: 1px solid darken(@infoBackground, 20%);
+ border-left: 1px solid darken($infoBackground, 20%);
}
.alert.alert-info .alert-block-close a {
- color: @infoText;
+ color: $infoText;
}
.alert.alert-warning .alert-block-content {
- border-right: 1px solid lighten(@warningBackground, 10%);
+ border-right: 1px solid lighten($warningBackground, 10%);
}
.alert.alert-warning .alert-block-close {
- border-left: 1px solid darken(@warningBackground, 20%);
+ border-left: 1px solid darken($warningBackground, 20%);
}
.alert.alert-warning .alert-block-close a {
- color: @warningText;
+ color: $warningText;
}
.alert .close {
@@ -271,10 +294,34 @@ ul {
padding: 9px 5px;
}
+/** blockquote style */
+
+blockquote {
+ page-break-inside: avoid;
+ background: #f9f9f9;
+ border-left: 10px solid #ccc;
+ margin: 1.5em 10px;
+ padding: 0.5em 10px;
+ quotes: "\201C""\201D""\2018""\2019";
+ color: #333;
+}
+
+blockquote:before {
+ color: #ccc;
+ content: open-quote;
+ font-size: 4em;
+ line-height: 0.1em;
+ margin-right: 0.25em;
+ vertical-align: -0.4em;
+}
+
+blockquote p {
+ display: inline;
+}
/** app css */
.help-block-error {
- border: 1px solid @colorError;
+ border: 1px solid $colorError;
}
.well-large {
@@ -282,7 +329,7 @@ ul {
}
.close {
- color: @white;
+ color: $white;
opacity: 1;
}
@@ -292,33 +339,33 @@ ul {
}
.facebook-badge {
- background-color: @colorFacebook;
- .gradient(@colorFacebook, 0.8);
+ background-color: $colorFacebook;
+ @include gradient($colorFacebook, 0.8);
}
.google-plus-badge {
- background-color: @colorGooglePlus;
- .gradient(@colorGooglePlus, 0.8);
+ background-color: $colorGooglePlus;
+ @include gradient($colorGooglePlus, 0.8);
}
.viadeo-badge {
- background-color: @colorViadeo;
- .gradient(@colorViadeo, 0.8);
+ background-color: $colorViadeo;
+ @include gradient($colorViadeo, 0.8);
}
.twitter-badge {
- background-color: @colorTwitter;
- .gradient(@colorTwitter, 0.8);
+ background-color: $colorTwitter;
+ @include gradient($colorTwitter, 0.8);
}
.github-badge {
- background-color: @colorGithub;
- .gradient(@colorGithub, 0.8);
+ background-color: $colorGithub;
+ @include gradient($colorGithub, 0.8);
}
.linkedin-badge {
- background-color: @colorLinkedin;
- .gradient(@colorLinkedin, 0.8);
+ background-color: $colorLinkedin;
+ @include gradient($colorLinkedin, 0.8);
}
.match-hint {
@@ -332,22 +379,22 @@ ul {
.dropdown-menu {
border-radius: 0px;
min-width: 60px;
- .glow(@dropDownLanguageGlow);
+ @include glow($dropDownLanguageGlow);
}
#authentication-sidebar-language button {
- background-color: @backgroundSideBar;
- color: @textColor;
+ background-color: $backgroundSideBar;
+ color: $textColor;
border-radius: 0px;
text-shadow: none;
- border-left: 1px solid @inputOutsideBorder;
+ border-left: 1px solid $inputOutsideBorder;
background-image: none;
- font-size: @fontSizeSmall;
+ font-size: $fontSizeSmall;
padding: 0 12px;
}
#authentication-sidebar-language li a {
- font-size: @fontSizeSmall
+ font-size: $fontSizeSmall
}
#authentication-sidebar-language .language {
@@ -356,11 +403,11 @@ ul {
#authentication-sidebar-language .caret {
margin:9px 0px 0px 7px;
- border-top-color: @languageCaretColor;
+ border-top-color: $languageCaretColor;
}
.left-content h1 {
- font-size: @fontSizeLarge;
+ font-size: $fontSizeLarge;
}
.left-content .logo img {
@@ -368,7 +415,7 @@ ul {
}
.forget-password-link {
- font-size: @fontSizeSmall;
+ font-size: $fontSizeSmall;
text-decoration: underline;
}
@@ -389,9 +436,9 @@ button[type=submit] {
.authentication-sidebar {
min-height: 100%;
height: auto;
- background: @backgroundSideBar;
+ background: $backgroundSideBar;
border-radius: 0;
- .glow(@sideBarGlow);
+ @include glow($sideBarGlow);
padding-bottom:50px;
}
@@ -425,7 +472,7 @@ button[type=submit] {
}
.authentication-sidebar form table tr {
- border:1px solid @inputOutsideBorder;
+ border:1px solid $inputOutsideBorder;
}
.authentication-sidebar form table td.icon {
@@ -437,12 +484,12 @@ button[type=submit] {
position: relative;
display: block;
margin: 15px;
- color: @white;
+ color: $white;
max-width: none;
- background-color: @colorError;
- color: @white;
- border: 1px solid lighten(@colorError, 10%);
- .border-radius(@borderRadiusSmall);
+ background-color: $colorError;
+ color: $white;
+ border: 1px solid lighten($colorError, 10%);
+ @include border-radius($borderRadiusSmall);
line-height: 16px;
}
@@ -464,13 +511,13 @@ button[type=submit] {
}
.authentication-sidebar form .field-error.bottom .arrow::after {
- border-bottom-color: @colorError;
+ border-bottom-color: $colorError;
}
.sidebar-block {
border-radius :0px;
- border-bottom: 1px solid @sideBarBlockBorderColorBottom;
- border-top: 1px solid @sideBarBlockBorderColorTop;
+ border-bottom: 1px solid $sideBarBlockBorderColorBottom;
+ border-top: 1px solid $sideBarBlockBorderColorTop;
}
.sidebar-block:first-child {
@@ -487,7 +534,7 @@ button[type=submit] {
.sidebar-hint {
margin: 10px 0;
- font-size: @fontSizeSmall;
+ font-size: $fontSizeSmall;
}
.sidebar-hint-large {
font-size: 16px;
@@ -511,66 +558,66 @@ button[type=submit] {
outline: none;
border: none !important;
box-shadow: none !important;
- box-radius: @inputBorderRadius !important;
+ box-radius: $inputBorderRadius !important;
}
.input-table input, .input-table select, .input-table textarea {
- border: @inputBorder !important;
- background-color: @inputBackground !important;
- color: @textColor !important;
+ border: $inputBorder !important;
+ background-color: $inputBackground !important;
+ color: $textColor !important;
margin: 0 !important;
}
.input-table.input-table-error tr {
- border: 1px solid @colorError;
+ border: 1px solid $colorError;
}
.input-table.input-table-error td {
- color: @colorError;
+ color: $colorError;
}
.input-table.input-table-error input {
- color: @colorError;
+ color: $colorError;
}
.input-table.input-table-error input::-webkit-input-placeholder {
- color: @colorError;
+ color: $colorError;
}
.input-table.input-table-error input:-moz-placeholder {
- color: @colorError;
+ color: $colorError;
}
.input-table.input-table-error input:-ms-input-placeholder {
- color: @colorError;
+ color: $colorError;
}
.input-table.input-table-success tr {
- border: 1px solid @colorSuccess;
+ border: 1px solid $colorSuccess;
}
.input-table.input-table-success td {
- color: @colorSuccess;
+ color: $colorSuccess;
}
.input-table.input-table-success input {
- color: @colorSuccess;
+ color: $colorSuccess;
}
.input-table.input-table-success input::-webkit-input-placeholder {
- color: @colorSuccess;
+ color: $colorSuccess;
}
.input-table.input-table-success input:-moz-placeholder {
- color: @colorSuccess;
+ color: $colorSuccess;
}
.input-table.input-table-success input:-ms-input-placeholder {
- color: @colorSuccess;
+ color: $colorSuccess;
}
.input-table td {
- background-color: @inputBackground;
+ background-color: $inputBackground;
}
form[name=forgottenPasswordForm] {
@@ -578,12 +625,12 @@ form[name=forgottenPasswordForm] {
}
form[name=loginForm] label,form[name=register] label {
- font-size: @fontSizeLarge;
+ font-size: $fontSizeLarge;
}
form[name=loginForm] label[for=remember-me],
form[name=registerForm] label[for=terms-of-use] {
- font-size: @fontSizeSmall;
+ font-size: $fontSizeSmall;
}
form[name=loginForm] label[for=remember-me] input,
@@ -610,8 +657,37 @@ form[name=registerForm] label[for=terms-of-use] input{
height: 100%;
}
+#main-bar {
+ margin-top: 40px;
+}
+
+.brand .section-title {
+ color: $grayLight;
+}
+
+input[type="text"],
+input[type="password"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="date"],
+input[type="month"],
+input[type="time"],
+input[type="week"],
+input[type="number"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="tel"],
+input[type="color"] {
+ min-height: 30px;
+}
+
+legend {
+ color: $grayLighter;
+}
+
.footer {
- padding: 10px 0;
+ padding: 20px 0px;
}
.footer-list {
@@ -621,7 +697,7 @@ form[name=registerForm] label[for=terms-of-use] input{
}
.footer-list li {
- border-left: 1px solid @textColor;
+ border-left: 1px solid $textColor;
padding: 0 10px;
line-height: 16px;
}
@@ -638,8 +714,8 @@ form[name=registerForm] label[for=terms-of-use] input{
.provider-badge {
margin: 15px 0 5px 0;
min-height: 55px;
- @glow: 0 1px 7px rgba(0, 0, 0, 1);
- .glow(@glow);
+ $glow: 0 1px 7px rgba(0, 0, 0, 1);
+ @include glow($glow);
}
.provider-badge img {
@@ -653,7 +729,7 @@ form[name=registerForm] label[for=terms-of-use] input{
}
.provider-badge .email {
- font-size: @fontSizeSmall;
+ font-size: $fontSizeSmall;
min-width: 80px;
}
@@ -664,13 +740,13 @@ form[name=registerForm] label[for=terms-of-use] input{
.authentication-user-pres-phraseanet {
margin: 5px 0;
padding: 15px 15px 20px 15px;
- color: @identityPhraseanetColor;
- background: @identityPhraseanetBackgroundColor;
- font-size: @fontSizeSmall;
+ color: $identityPhraseanetColor;
+ background: $identityPhraseanetBackgroundColor;
+ font-size: $fontSizeSmall;
}
.authentication-user-pres-phraseanet i {
- color: @identityPhraseanetIconColor;
+ color: $identityPhraseanetIconColor;
}
.authentication-user-pres-phraseanet ul li{
@@ -692,11 +768,11 @@ form[name=registerForm] label[for=terms-of-use] input{
}
.icon {
- background-color: @black;
+ background-color: $black;
}
.app-name {
- color: @colorSuccess;
+ color: $colorSuccess;
font-weight: bold;
font-size: 22px;
}
@@ -751,7 +827,7 @@ form[name=registerForm] .multiselect-group {
padding-left: 20px;
padding-top: 10px;
padding-bottom: 5px;
- font-size: @fontSizeLarge;
+ font-size: $fontSizeLarge;
}
.password_strength_widget, .password_strength_widget tr, .password_strength_widget td {
@@ -759,8 +835,8 @@ form[name=registerForm] .multiselect-group {
}
.password_strength_label, .password_strength_desc {
- font-size: @fontSizeMini;
- color: lighten(@backgroundSideBar, 5%) ;
+ font-size: $fontSizeMini;
+ color: lighten($backgroundSideBar, 5%) ;
}
.password_strength_desc {
@@ -776,7 +852,7 @@ form[name=registerForm] .multiselect-group {
.password_strength_bg {
height: 4px;
- background-color: lighten(@backgroundSideBar, 5%);
+ background-color: lighten($backgroundSideBar, 5%);
width: 100%;
position: absolute;
left: 0;
@@ -793,14 +869,14 @@ form[name=registerForm] .multiselect-group {
.password_strength_separator {
height: 4px;
width: 2px;
- background-color: @backgroundSideBar;
+ background-color: $backgroundSideBar;
position: absolute;
left: 0;
}
.geocompleter-menu {
- background: @backgroundSideBar;
- .glow(@sideBarGlow);
+ background: $backgroundSideBar;
+ @include glow($sideBarGlow);
}
.geocompleter-menu .ui-menu-item a.ui-state-focus,
@@ -814,28 +890,28 @@ form[name=registerForm] .multiselect-group {
}
.geocompleter-menu .ui-menu-item:nth-child(odd) {
- background: lighten(@backgroundSideBar, 25%);
- border: 1px solid lighten(@backgroundSideBar, 25%);
+ background: lighten($backgroundSideBar, 25%);
+ border: 1px solid lighten($backgroundSideBar, 25%);
}
.geocompleter-menu .ui-menu-item:nth-child(even) {
- border: 1px solid @backgroundSideBar;
+ border: 1px solid $backgroundSideBar;
}
.geocompleter-menu .ui-menu-item.selected {
- border: 1px solid @green;
+ border: 1px solid $green;
}
.geocompleter-menu .region {
- font-size: @fontSizeMini;
+ font-size: $fontSizeMini;
}
.geocompleter-menu .ui-state-highlight {
- background: @green;
+ background: $green;
}
.geocompleter-input.input-loading {
- background: url('/skins/icons/loader-black.gif') @black center right no-repeat;
+ background: url('/assets/common/images/icons/loader-black.gif') $black center right no-repeat;
}
/** IE Fixes */
@@ -850,13 +926,13 @@ form[name=registerForm] .multiselect-group {
}
.lt-ie9 .input-table {
- border: 1px solid @inputOutsideBorder;
+ border: 1px solid $inputOutsideBorder;
}
.lt-ie9 .input-table input,
.lt-ie9 .input-table .input {
- background-color: @inputIEBackground !important;
- color: contrast(@inputIEBackground) !important;
+ background-color: $inputIEBackground !important;
+ color: contrast($inputIEBackground) !important;
/** If font family is issued front google fonts hidden dot characters will always be white */
font-family: Arial !important;
}
@@ -865,7 +941,7 @@ form[name=registerForm] .multiselect-group {
/* Portrait tablet to landscape and desktop */
@media (max-width: 979px) {
.authentication-sidebar-title {
- font-size: @fontSizeLarge;
+ font-size: $fontSizeLarge;
}
}
@@ -898,8 +974,8 @@ form[name=registerForm] .multiselect-group {
.header,
.logo,
.footer {
- background-color: @backgroundSideBar;
- .border-radius(0px);
+ background-color: $backgroundSideBar;
+ @include border-radius(0px);
padding: 20px;
}
@@ -908,16 +984,16 @@ form[name=registerForm] .multiselect-group {
}
.authentication-sidebar {
- border-top: 1px solid @sideBarBlockBorderColorTop;
- .glow(none);
+ border-top: 1px solid $sideBarBlockBorderColorTop;
+ @include glow(none);
}
.header {
- border-bottom: 1px solid @black;
+ border-bottom: 1px solid $black;
}
.container {
- .glow(@sideBarGlow);
+ @include glow($sideBarGlow);
}
.footer .footer-block {
@@ -925,6 +1001,69 @@ form[name=registerForm] .multiselect-group {
}
}
+
+
+h1, h2, h3, h4 {
+ font-weight: 100;
+}
+
+.content{
+ min-height: 500px;
+}
+
+.url_callback_input input {
+ margin: 0;
+}
+
+.modal {
+ color: $black;
+}
+
+.app-list {
+ border: 1px solid $grayDark;
+ background: lighten($background, 2%);
+ @include border-radius($baseBorderRadius);
+}
+
+.app-list li {
+ padding: 10px;
+ border-top: 1px solid $grayDark;
+}
+
+.app-list li:first-child {
+ border-top:none;
+}
+
+.app-list li .app-row {
+ line-height: $fontSizeLarge * 1.25;
+ padding-bottm: 5px;
+}
+
+.app-list li .app-row a {
+ font-size: $fontSizeLarge * 1.25;
+}
+
+.text-success {
+ color: $green;
+}
+
+.text-error {
+ color: $red;
+}
+
+.control-span {
+ padding-top: 5px;
+ line-height: 20px;
+}
+
+form[name="changeEmail"] .control-label {
+ width: 200px;
+}
+
+form[name="changeEmail"] .controls {
+ margin-left: 220px;
+}
+
/* Landscape phones and down */
@media (max-width: 480px) {
diff --git a/resources/www/account/styles/_variables.scss b/resources/www/account/styles/_variables.scss
new file mode 100644
index 0000000000..388ae4ee2a
--- /dev/null
+++ b/resources/www/account/styles/_variables.scss
@@ -0,0 +1,346 @@
+// Variables
+// --------------------------------------------------
+
+@mixin glow($glow) {
+ box-shadow: $glow;
+ -webkit-box-shadow: $glow;
+ -moz-box-shadow: $glow;
+}
+
+@mixin gradient ($colorButton, $multiplier){
+ $colorHsl: lightness($colorButton) * $multiplier;
+
+ background: -moz-linear-gradient($colorButton, hsl(hue($colorButton), saturation($colorButton), $colorHsl)); /* FF 3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, $colorButton), color-stop(100%, hsl(hue($colorButton), saturation($colorButton), $colorHsl))); /*Safari 4+, Chrome 2+*/
+ background: -webkit-linear-gradient($colorButton, hsl(hue($colorButton), saturation($colorButton), $colorHsl)); /* Safari 5.1+, Chrome 10+ */
+ background: -o-linear-gradient($colorButton, hsl(hue($colorButton), saturation($colorButton), $colorHsl)); /* Opera 11.10 */
+ /* filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#ffffff'); IE6 & IE7
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#ffffff')"; IE8+ */
+ background: linear-gradient($colorButton, hsl(hue($colorButton), saturation($colorButton), $colorHsl)); /* the standard */
+}
+
+// Global values
+// --------------------------------------------------
+
+
+// Grays
+// -------------------------
+$black: #000;
+$grayDarker: #222;
+$grayDark: #333;
+$gray: #555;
+$grayLight: #999;
+$grayLighter: #eee;
+$white: #fff;
+
+
+// Accent colors
+// -------------------------
+$blue: #049cdb;
+$blueDark: #0064cd;
+$green: #46a546;
+$red: #9d261d;
+$yellow: #ffc40d;
+$orange: #f89406;
+$pink: #c3325f;
+$purple: #7a43b6;
+
+
+// Own variables
+// ----------------------------
+
+$inputOutsideBorder: #4c4c4c;
+$colorError: #af3030;
+$colorSuccess: #108946;
+$colorFacebook: #3b5a97;
+$colorGooglePlus: #ba2828;
+$colorViadeo: #242424;
+$colorTwitter: #2fa3dc;
+$colorLinkedin: #025b8e;
+$colorGithub: #908c8b;
+$backgroundSideBar: #1a1a1a;
+$background: #141414;
+$defaultFontFamily: 'tahoma', lucida grande,verdana,arial,sans-serif;
+$sideBarGlow: 0 0 15px rgba(0, 0, 0, 1);
+$dropDownLanguageGlow: 0 0 15px rgba(0, 0, 0, 1);
+$sideBarBlockBorderColorBottom: $black;
+$sideBarBlockBorderColorTop: #232222;
+$identityPhraseanetBackgroundColor: #f2f2f2;
+$identityPhraseanetColor: #323232;
+$identityPhraseanetIconColor: #b3b3b3;
+$languageCaretColor: $white;
+$inputIEBackground: #6D6D6D;
+
+// Scaffolding
+// -------------------------
+$bodyBackground: $background;
+$textColor: $white;
+
+
+// Links
+// -------------------------
+$linkColor: #08c;
+$linkColorHover: darken($linkColor, 15%);
+$footerLinkColor: $linkColor;
+$footerLinkColorHover: $linkColorHover;
+
+
+// Typography
+// -------------------------
+$sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
+$serifFontFamily: Georgia, "Times New Roman", Times, serif;
+$monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace;
+
+$baseFontSize: 14px;
+$baseFontFamily: $defaultFontFamily;
+$baseLineHeight: 20px;
+$altFontFamily: $serifFontFamily;
+
+$headingsFontFamily: inherit; // empty to use BS default, $baseFontFamily
+$headingsFontWeight: bold; // instead of browser default, bold
+$headingsColor: inherit; // empty to use BS default, $textColor
+
+
+// Component sizing
+// -------------------------
+// Based on 14px font-size and 20px line-height
+
+$fontSizeLarge: $baseFontSize * 1.25; // ~18px
+$fontSizeSmall: $baseFontSize * 0.85; // ~12px
+$fontSizeMini: $baseFontSize * 0.75; // ~11px
+
+$paddingLarge: 11px 19px; // 44px
+$paddingSmall: 2px 10px; // 26px
+$paddingMini: 0 6px; // 22px
+
+$baseBorderRadius: 4px;
+$borderRadiusLarge: 6px;
+$borderRadiusSmall: 3px;
+
+
+// Tables
+// -------------------------
+$tableBackground: transparent; // overall background-color
+$tableBackgroundAccent: lighten($background, 5%); // for striping
+$tableBackgroundHover: #f5f5f5; // for hover
+$tableBorder: #ddd; // table and cell border
+
+// Buttons
+// -------------------------
+$btnBackground: $white;
+$btnBackgroundHighlight: darken($white, 10%);
+$btnBorder: #bbb;
+
+$btnPrimaryBackground: lighten($background, 15%);
+$btnPrimaryBackgroundHighlight: darken($background, 10%);
+
+$btnInfoBackground: #1c607f;
+$btnInfoBackgroundHighlight: darken($btnInfoBackground, 10%);
+
+$btnSuccessBackground: #1ea062;
+$btnSuccessBackgroundHighlight: darken($btnSuccessBackground, 10%);
+
+$btnWarningBackground: lighten($orange, 15%);
+$btnWarningBackgroundHighlight: $orange;
+
+$btnDangerBackground: #ee5f5b;
+$btnDangerBackgroundHighlight: #bd362f;
+
+$btnInverseBackground: #444;
+$btnInverseBackgroundHighlight: $grayDarker;
+
+
+// Forms
+// -------------------------
+$inputBackground: $white;
+$inputBorder: lighten($background, 5%);
+$inputBorderRadius: $baseBorderRadius;
+$inputDisabledBackground: $grayLighter;
+$formActionsBackground: $background;
+$inputHeight: 30px; // base line-height + 8px vertical padding + 2px top/bottom border
+
+
+// Dropdowns
+// -------------------------
+$dropdownBackground: $backgroundSideBar;
+$dropdownBorder: rgba(0,0,0,.2);
+$dropdownDividerTop: #e5e5e5;
+$dropdownDividerBottom: $white;
+
+$dropdownLinkColor: $white;
+$dropdownLinkColorHover: $gray;
+$dropdownLinkColorActive: $white;
+
+$dropdownLinkBackgroundActive: $linkColor;
+$dropdownLinkBackgroundHover: $dropdownLinkBackgroundActive;
+
+
+
+// COMPONENT VARIABLES
+// --------------------------------------------------
+
+
+// Z-index master list
+// -------------------------
+// Used for a bird's eye view of components dependent on the z-axis
+// Try to avoid customizing these :)
+$zindexDropdown: 1000;
+$zindexPopover: 1010;
+$zindexTooltip: 1030;
+$zindexFixedNavbar: 1030;
+$zindexModalBackdrop: 1040;
+$zindexModal: 1050;
+
+
+// Sprite icons path
+// -------------------------
+$iconSpritePath: "/assets/vendors/bootstrap/img/glyphicons-halflings.png";
+$iconWhiteSpritePath: "/assets/vendors/bootstrap/img/glyphicons-halflings-white.png";
+
+
+// Input placeholder text color
+// -------------------------
+$placeholderText: $grayLight;
+
+
+// Hr border color
+// -------------------------
+$hrBorder: $grayLighter;
+
+
+// Horizontal forms , lists
+// -------------------------
+$horizontalComponentOffset: 180px;
+
+
+// Wells
+// -------------------------
+$wellBackground: $grayDarker;
+
+
+// Navbar
+// -------------------------
+$navbarCollapseWidth: 979px;
+$navbarCollapseDesktopWidth: $navbarCollapseWidth + 1;
+
+$navbarHeight: 40px;
+$navbarBackgroundHighlight: lighten($background, 5%);
+$navbarBackground: $background;
+$navbarBorder: darken($navbarBackground, 12%);
+
+$navbarText: $white;
+$navbarLinkColor: $linkColor;
+$navbarLinkColorHover: $white;
+$navbarLinkColorActive: $linkColor;
+$navbarLinkBackgroundHover: $background;
+$navbarLinkBackgroundActive: lighten($background, 15%);
+
+$navbarBrandColor: $white;
+
+// Inverted navbar
+$navbarInverseBackground: #111111;
+$navbarInverseBackgroundHighlight: #222222;
+$navbarInverseBorder: #252525;
+
+$navbarInverseText: $grayLight;
+$navbarInverseLinkColor: $grayLight;
+$navbarInverseLinkColorHover: $white;
+$navbarInverseLinkColorActive: $navbarInverseLinkColorHover;
+$navbarInverseLinkBackgroundHover: transparent;
+$navbarInverseLinkBackgroundActive: $navbarInverseBackground;
+
+$navbarInverseSearchBackground: lighten($navbarInverseBackground, 25%);
+$navbarInverseSearchBackgroundFocus: $white;
+$navbarInverseSearchBorder: $navbarInverseBackground;
+$navbarInverseSearchPlaceholderColor: #ccc;
+
+$navbarInverseBrandColor: $navbarInverseLinkColor;
+
+
+// Pagination
+// -------------------------
+$paginationBackground: #fff;
+$paginationBorder: #ddd;
+$paginationActiveBackground: #f5f5f5;
+
+
+// Hero unit
+// -------------------------
+$heroUnitBackground: $grayLighter;
+$heroUnitHeadingColor: inherit;
+$heroUnitLeadColor: inherit;
+
+
+// Form states and alerts
+// -------------------------
+$warningText: $white;
+$warningBackground: $grayDark;
+$warningBorder: darken(adjust-hue($warningBackground, -10), 3%);
+
+$errorText: $white;
+$errorBackground: #c9322b;
+$errorBorder: darken(adjust-hue($errorBackground, -10), 3%);
+
+$successText: $white;
+$successBackground: #1f914f;
+$successBorder: darken(adjust-hue($successBackground, -10), 5%);
+
+$infoText: $white;
+$infoBackground: #4889af;
+$infoBorder: darken(adjust-hue($infoBackground, -10), 7%);
+
+
+
+
+// Tooltips and popovers
+// -------------------------
+$tooltipColor: #fff;
+$tooltipBackground: #000;
+$tooltipArrowWidth: 5px;
+$tooltipArrowColor: $tooltipBackground;
+
+$popoverBackground: #fff;
+$popoverArrowWidth: 10px;
+$popoverArrowColor: #fff;
+$popoverTitleBackground: darken($popoverBackground, 3%);
+
+// Special enhancement for popovers
+$popoverArrowOuterWidth: $popoverArrowWidth + 1;
+$popoverArrowOuterColor: rgba(0,0,0,.25);
+
+
+
+// GRID
+// --------------------------------------------------
+
+
+// Default 940px grid
+// -------------------------
+$gridColumns: 12;
+$gridColumnWidth: 60px;
+$gridGutterWidth: 20px;
+$gridRowWidth: ($gridColumns * $gridColumnWidth) + ($gridGutterWidth * ($gridColumns - 1));
+
+// 1200px min
+$gridColumnWidth1200: 70px;
+$gridGutterWidth1200: 30px;
+$gridRowWidth1200: ($gridColumns * $gridColumnWidth1200) + ($gridGutterWidth1200 * ($gridColumns - 1));
+
+// 768px-979px
+$gridColumnWidth768: 42px;
+$gridGutterWidth768: 20px;
+$gridRowWidth768: ($gridColumns * $gridColumnWidth768) + ($gridGutterWidth768 * ($gridColumns - 1));
+
+
+// Fluid grid
+// -------------------------
+$fluidGridColumnWidth: percentage($gridColumnWidth/$gridRowWidth);
+$fluidGridGutterWidth: percentage($gridGutterWidth/$gridRowWidth);
+
+// 1200px min
+$fluidGridColumnWidth1200: percentage($gridColumnWidth1200/$gridRowWidth1200);
+$fluidGridGutterWidth1200: percentage($gridGutterWidth1200/$gridRowWidth1200);
+
+// 768px-979px
+$fluidGridColumnWidth768: percentage($gridColumnWidth768/$gridRowWidth768);
+$fluidGridGutterWidth768: percentage($gridGutterWidth768/$gridRowWidth768);
diff --git a/resources/www/account/styles/main.scss b/resources/www/account/styles/main.scss
new file mode 100644
index 0000000000..4e4a032619
--- /dev/null
+++ b/resources/www/account/styles/main.scss
@@ -0,0 +1,19 @@
+// @import '../../../../www/bower_components/normalize-css/normalize'; // not extension for inline import
+@import '../../_shared/styles/variables';
+// @import '../../../../plugins/account.scss';
+@import 'variables';
+@import '../../vendors/bootstrap/bootstrap';
+@import 'skin';
+@import '../../../../www/bower_components/font-awesome/scss/font-awesome.scss';
+@import '../../../../www/bower_components/jquery-ui/themes/base/jquery.ui.autocomplete'; // not extension for inline import
+
+$mainMenuBackgroundColor: #3b3b3b;
+$mainMenuLinkColor: #A6A6A6;
+$mainMenuLinkHoverColor: #FFFFFF;
+$mainMenuLinkActiveColor: #000000;
+$mainMenuMarginBottom: 30px;
+@import '../../_shared/styles/main-menu';
+
+#mainContent {
+ padding-top: $mainMenuHeight;
+}
\ No newline at end of file
diff --git a/www/skins/admin/Connected.png b/resources/www/admin/images/Connected.png
similarity index 100%
rename from www/skins/admin/Connected.png
rename to resources/www/admin/images/Connected.png
diff --git a/www/skins/admin/Dashboard.png b/resources/www/admin/images/Dashboard.png
similarity index 100%
rename from www/skins/admin/Dashboard.png
rename to resources/www/admin/images/Dashboard.png
diff --git a/www/skins/admin/Database.png b/resources/www/admin/images/Database.png
similarity index 100%
rename from www/skins/admin/Database.png
rename to resources/www/admin/images/Database.png
diff --git a/www/skins/admin/DatabasesAvailable.png b/resources/www/admin/images/DatabasesAvailable.png
similarity index 100%
rename from www/skins/admin/DatabasesAvailable.png
rename to resources/www/admin/images/DatabasesAvailable.png
diff --git a/www/skins/admin/Demandes.png b/resources/www/admin/images/Demandes.png
similarity index 100%
rename from www/skins/admin/Demandes.png
rename to resources/www/admin/images/Demandes.png
diff --git a/www/skins/admin/Setup.png b/resources/www/admin/images/Setup.png
similarity index 100%
rename from www/skins/admin/Setup.png
rename to resources/www/admin/images/Setup.png
diff --git a/www/skins/admin/TaskManager.png b/resources/www/admin/images/TaskManager.png
similarity index 100%
rename from www/skins/admin/TaskManager.png
rename to resources/www/admin/images/TaskManager.png
diff --git a/www/skins/admin/Users.png b/resources/www/admin/images/Users.png
similarity index 100%
rename from www/skins/admin/Users.png
rename to resources/www/admin/images/Users.png
diff --git a/www/skins/admin/dropdown.png b/resources/www/admin/images/dropdown.png
similarity index 100%
rename from www/skins/admin/dropdown.png
rename to resources/www/admin/images/dropdown.png
diff --git a/www/skins/admin/favicon.ico b/resources/www/admin/images/favicon.ico
similarity index 100%
rename from www/skins/admin/favicon.ico
rename to resources/www/admin/images/favicon.ico
diff --git a/www/skins/admin/ghost.png b/resources/www/admin/images/ghost.png
similarity index 100%
rename from www/skins/admin/ghost.png
rename to resources/www/admin/images/ghost.png
diff --git a/www/include/jquery.kb-event.js b/resources/www/admin/js/jquery.kb-event.js
similarity index 100%
rename from www/include/jquery.kb-event.js
rename to resources/www/admin/js/jquery.kb-event.js
diff --git a/www/skins/admin/template-dialogs.js b/resources/www/admin/js/template-dialogs.js
similarity index 100%
rename from www/skins/admin/template-dialogs.js
rename to resources/www/admin/js/template-dialogs.js
diff --git a/www/skins/admin/css/Bases.css b/resources/www/admin/styles/_databases.scss
similarity index 98%
rename from www/skins/admin/css/Bases.css
rename to resources/www/admin/styles/_databases.scss
index c60c60819e..a9a7b04e33 100644
--- a/www/skins/admin/css/Bases.css
+++ b/resources/www/admin/styles/_databases.scss
@@ -73,7 +73,7 @@ div[id$="_indexed_percent"] {
}
a.btn {
- text-decoration: none;
+ text-decoration: none;
}
.status-img {
diff --git a/resources/www/admin/styles/_fields.scss b/resources/www/admin/styles/_fields.scss
new file mode 100644
index 0000000000..3f39371279
--- /dev/null
+++ b/resources/www/admin/styles/_fields.scss
@@ -0,0 +1,291 @@
+#admin-field-app .row-top {
+ min-height: 60px;
+ border-bottom: 1px solid #000;
+}
+
+#admin-field-app .row-bottom {
+ position: relative;
+}
+
+#admin-field-app .right-block {
+ border-left: 1px dashed #000;
+ overflow: auto;
+ min-height: 200px;
+}
+
+#admin-field-app h4 {
+ padding: 10px 0;
+}
+
+#admin-field-app .lng-label a {
+ color: #aaa;
+ text-transform: capitalize;
+ font-weight: bold;
+ font-size: 14px;
+}
+
+#admin-field-app .lng-label.select a {
+ color: #0080FF;
+}
+
+#admin-field-app #collection-fields li {
+ background: #FFF;
+ border-top: 1px solid #ccc;
+ border-left: 1px solid #ccc;
+ border-right: 1px solid #ccc;
+ height: 55px;
+}
+
+#admin-field-app ul.inline li {
+ display: inline-block;
+ padding-right: 5px;
+ padding-left: 5px;
+}
+
+#admin-field-app #collection-fields li .trigger-click {
+ cursor: pointer;
+}
+
+#admin-field-app #collection-fields li.border-bottom{
+ border-bottom: 1px solid #ccc;
+}
+
+#admin-field-app #collection-fields li table {
+ table-layout: fixed;
+ width: 100%;
+ height: 100%;
+}
+
+#admin-field-app #collection-fields li .field-name {
+ font-weight: bold;
+ font-size: 16px;
+ color: #666;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+#admin-field-app #collection-fields li .field-tag {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+#admin-field-app #collection-fields li .handle {
+ width: 10%;
+ vertical-align: middle;
+ text-align: center;
+ cursor: move;
+}
+
+#admin-field-app #collection-fields li .trigger-click {
+ padding: 10px;
+}
+
+#admin-field-app #collection-fields li .position {
+ width: 10%;
+ vertical-align: bottom;
+ text-align: center;
+}
+
+#admin-field-app #collection-fields li .chip {
+ width: 10%;
+}
+
+#admin-field-app #collection-fields li .handle, #admin-field-app #collection-fields li .position {
+ color: #ccc;
+ border-right: 1px solid #ccc;
+}
+
+#admin-field-app #collection-fields li.last {
+ border-bottom: 1px solid #ccc;
+}
+
+#admin-field-app #collection-fields li.selected {
+ border-top-color: #0080FF;
+ background: #FFF;
+ color: #000;
+}
+
+#admin-field-app #collection-fields li.last.selected {
+ border-bottom-color: #0080FF;
+}
+
+#admin-field-app #collection-fields li.last.selected.error {
+ border-bottom-color: #9d261d;
+}
+
+#admin-field-app #collection-fields li.selected + li {
+ border-top-color: #0080FF;
+}
+
+#admin-field-app #collection-fields li.selected.error {
+ border-top-color: #9d261d;
+}
+
+#admin-field-app #collection-fields li.selected.error + li {
+ border-top-color: #9d261d;
+}
+
+#admin-field-app #collection-fields li.selected .field-name {
+ color: #0080FF;
+}
+
+#admin-field-app #collection-fields li.error .field-name {
+ color: #9d261d;
+}
+
+#admin-field-app .item-list-placeholder {
+ border-top: 1px solid #ccc;
+ background-color: red;
+ height: 70px;
+}
+
+#admin-field-app .add-field-block {
+ margin-bottom: 0px;
+}
+
+#admin-field-app .add-field-block .control-label {
+ width: 80px;
+ text-align: left;
+}
+
+#admin-field-app .add-field-block .controls {
+ margin-left: 100px;
+}
+
+#admin-field-app .edit-form label {
+ width: 160px;
+}
+
+#admin-field-app .edit-form select {
+ min-width: 220px;
+}
+
+#admin-field-app .sidebar-add-block {
+ margin-top: 20px;
+}
+#admin-field-app .sidebar-search-block {
+ margin: 20px 0;
+}
+
+#admin-field-app .list-block {
+ height: 450px;
+ min-height: 130px;
+ overflow: auto;
+ position: relative;
+}
+
+#admin-field-app .edit-block {
+ padding: 5px 20px;
+}
+
+#admin-field-app .edit-block table {
+ table-layout: fixed;
+ width: 100%;
+}
+
+#admin-field-app .edit-block table label {
+ margin: 0px;
+ width: auto;
+}
+
+#admin-field-app .edit-block table td:first-child {
+ width: 130px;
+}
+
+#admin-field-app .edit-block td {
+ height: 25px;
+}
+
+#admin-field-app .edit-block .dces-help-block {
+ height: auto;
+}
+
+#admin-field-app .info {
+ color: #aaa;
+ padding: 10px;
+}
+
+#admin-field-app .edit-block .edit-order {
+ height: 50px;
+}
+
+#admin-field-app .edit-block .edit-order td {
+ height: 50px;
+}
+
+#admin-field-app .edit-block .edit-label {
+ height: 75px;
+}
+
+#admin-field-app .edit-block .edit-label ul {
+ margin: 0;
+}
+
+#admin-field-app .edit-block .edit-name td {
+ font-size: 28px;
+ color: #0080FF;
+ height: 42px;
+ line-height: 42px;
+ font-weight: bold
+}
+
+#admin-field-app .save-all{
+ padding: 15px;
+}
+
+#admin-field-app .overlay {
+ zoom: 1;
+ filter: alpha(opacity=50);
+ opacity: 0.5;
+ background: #fff;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ z-index: 2000;
+}
+
+#admin-field-app .list-field-error li {
+ color: #9d261d;
+}
+
+#admin-field-app .save-block.loading {
+ background: url('#{$iconsPath}loaderFFF.gif') #fff no-repeat center right;
+}
+
+/* jquery ui autocomplete style */
+.ui-autocomplete-admin-field {
+ list-style-type: none;
+ overflow-y: auto;
+ overflow-x: hidden;
+ max-height: 180px;
+ background: #FFF;
+ max-width: 300px;
+ -webkit-box-shadow: 0 10px 6px -6px #777;
+ -moz-box-shadow: 0 10px 6px -6px #777;
+ box-shadow: 0 10px 6px -6px #777;
+}
+
+.ui-autocomplete-admin-field li {
+ padding: 5px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.ui-autocomplete-admin-field li:hover {
+ padding: 5px;
+ background: #ccc;
+}
+
+.ui-autocomplete-admin-field li a {
+ text-decoration: none;
+}
+
+.ui-autocomplete-admin-field li a:hover {
+ text-decoration: none;
+ background: none;
+ color: #000;
+ border: none;
+}
diff --git a/www/skins/admin/css/Tables.css b/resources/www/admin/styles/_tables.scss
similarity index 98%
rename from www/skins/admin/css/Tables.css
rename to resources/www/admin/styles/_tables.scss
index f4135153fe..99ac491150 100644
--- a/www/skins/admin/css/Tables.css
+++ b/resources/www/admin/styles/_tables.scss
@@ -136,5 +136,5 @@ td.users_col.options {
}
.detail-table tr.even {
- background-color: #FAFBDF;
+ background-color: #FAFBDF;
}
diff --git a/www/skins/admin/css/Main.css b/resources/www/admin/styles/main.scss
similarity index 75%
rename from www/skins/admin/css/Main.css
rename to resources/www/admin/styles/main.scss
index 5e6aca3a1e..254a8c409c 100644
--- a/www/skins/admin/css/Main.css
+++ b/resources/www/admin/styles/main.scss
@@ -1,9 +1,27 @@
+@import '../../_shared/styles/variables';
+
+@import '../../vendors/jquery-treeview/jquery.treeview'; // to inline import css file, don't put extension
+@import '../../../../www/bower_components/jquery-file-upload/css/jquery.fileupload-ui'; // to inline import css file, don't put extension
+@import '../../vendors/jquery-contextmenu/styles/jquery.contextmenu';
+@import '../../_shared/styles/main';
+
+// override jquery ui theme colors:
+$uiTextContentColor: #333333;
+$uiTextTitleColor: #333333;
+$uiLinkColor: #333333;
+$uiLinkFocusColor: #333333;
+$uiLinkActiveColor: #333333;
+$uiLinkBorderFocusColor: #c77405; //#333333;
+@import '../../_shared/styles/jquery-ui/ui-lightness';
+
/******* GLOBAL CSS for ADMIN *************************************************/
body {
margin: 0;
padding: 0;
background-color: #ffffff;
color: #333333;
+ font-family: $defaultFontFamily;
+ font-size: $mediumFontSize;
overflow-y: auto;
}
.clear {
@@ -81,7 +99,7 @@ div.selected a {
background-color: transparent;
}
#right-ajax.loading {
- background-image: url('/skins/icons/loaderFFF.gif');
+ background-image: url('#{$iconsPath}loaderFFF.gif');
background-repeat: no-repeat;
background-position: center center;
}
@@ -94,21 +112,20 @@ div.finder div.content div.title {
overflow: hidden;
}
/******* MAIN MENU ************************************************************/
-#mainMenu {
- background-color: #fceb3f;
-}
-#mainMenu a,
-#mainMenu b,
-#mainMenu .title,
-#mainMenu span {
- color: #000000;
-}
-#mainMenu a:hover span {
- background-color: #fffbcd;
-}
-#mainMenu span.selected {
- border-top: 3px solid #000000;
+
+
+$mainMenuBackgroundColor: #fceb3f;
+$mainMenuLinkColor: #333333;
+$mainMenuLinkHoverColor: #000000;
+$mainMenuLinkActiveColor: #000000;
+$mainMenuLinkBackgroundHoverColor: transparent;
+
+@import '../../_shared/styles/main-menu';
+
+#mainContent {
+ margin-top: $mainMenuHeight;
}
+
/******* LEFT SIDE ************************************************************/
#left {
background-color: #fffbcd;
@@ -160,15 +177,17 @@ div.finder div.content div.title {
background-color: #4d4d4d;
color: #ffffff;
}
+
/******* EDIT USERS ***********************************************************/
div.no_switch {
width: 12px;
height: 12px;
margin: 0 auto;
- background-image: url('/skins/icons/ccoch5.gif');
+ background-image: url('#{$iconsPath}ccoch5.gif');
background-repeat: no-repeat;
background-position: center center;
}
+
div.switch_quota,
div.switch_masks,
div.switch_time,
@@ -181,7 +200,7 @@ div.switch_quota.mixed,
div.switch_masks.mixed,
div.switch_time.mixed,
div.switch_right.mixed {
- background-image: url('/skins/icons/ccoch2.gif');
+ background-image: url('#{$iconsPath}ccoch2.gif');
background-repeat: no-repeat;
background-position: center center;
}
@@ -189,7 +208,7 @@ div.switch_quota.checked,
div.switch_masks.checked,
div.switch_time.checked,
div.switch_right.checked {
- background-image: url('/skins/icons/ccoch1.gif');
+ background-image: url('#{$iconsPath}ccoch1.gif');
background-repeat: no-repeat;
background-position: center center;
}
@@ -197,7 +216,7 @@ div.switch_quota.unchecked,
div.switch_masks.unchecked,
div.switch_time.unchecked,
div.switch_right.unchecked {
- background-image: url('/skins/icons/ccoch0.gif');
+ background-image: url('#{$iconsPath}ccoch0.gif');
background-repeat: no-repeat;
background-position: center center;
}
@@ -227,13 +246,13 @@ div.switch_right.unchecked {
background-position: 5px center;
}
.board_section div[class="section"] ul.setup li.good-enough {
- background-image: url(/skins/icons/ok.png);
+ background-image: url('#{$iconsPath}ok.png');
}
.board_section div[class="section"] ul.setup li.non-blocker {
- background-image: url(/skins/icons/alert.png);
+ background-image: url('#{$iconsPath}alert.png');
}
.board_section div[class="section"] ul.setup li.blocker {
- background-image: url(/skins/icons/delete.png);
+ background-image: url('#{$iconsPath}delete.png');
}
.board_section div[class="section"] ul.setup li:hover {
background-color: #fffbcd;
@@ -269,11 +288,11 @@ div.switch_right.unchecked {
}
#GV_form .controls {
- margin-left: 260px;
+ margin-left: 260px;
}
#GV_form .control-label {
- width: 240px;
+ width: 240px;
}
#GV_form .section h1 {
@@ -285,21 +304,26 @@ div.switch_right.unchecked {
}
#tab-registrations .dl-horizontal dd {
- word-break: break-all;
- margin-left: 140px;
+ word-break: break-all;
+ margin-left: 140px;
}
#tab-registrations .dl-horizontal dt {
- width: 130px;
+ width: 130px;
}
#tab_demandes .table .btn-group {
- display: block;
+ display: block;
}
#admin_setup_registry .control-label {
- min-width: 260px;
+ min-width: 260px;
}
#admin_setup_registry .form-horizontal .controls, #admin_setup_registry .form-horizontal .help-message {
- margin-left: 300px;
+ margin-left: 300px;
}
+
+
+@import './databases';
+@import './fields';
+@import './tables';
diff --git a/www/skins/prod/favicon.ico b/resources/www/authentication/images/favicon.ico
similarity index 100%
rename from www/skins/prod/favicon.ico
rename to resources/www/authentication/images/favicon.ico
diff --git a/www/skins/login/img/ie6dead.png b/resources/www/authentication/images/ie6dead.png
similarity index 100%
rename from www/skins/login/img/ie6dead.png
rename to resources/www/authentication/images/ie6dead.png
diff --git a/www/skins/login/img/link.png b/resources/www/authentication/images/link.png
similarity index 100%
rename from www/skins/login/img/link.png
rename to resources/www/authentication/images/link.png
diff --git a/resources/www/authentication/styles/_variables.scss b/resources/www/authentication/styles/_variables.scss
new file mode 100644
index 0000000000..81e944f582
--- /dev/null
+++ b/resources/www/authentication/styles/_variables.scss
@@ -0,0 +1,346 @@
+// Variables
+// --------------------------------------------------
+
+@mixin glow($glow) {
+ box-shadow: $glow;
+ -webkit-box-shadow: $glow;
+ -moz-box-shadow: $glow;
+}
+
+@mixin gradient ($colorButton, $multiplier){
+ $colorHsl: lightness($colorButton) * $multiplier;
+
+ background: -moz-linear-gradient($colorButton, hsl(hue($colorButton), saturation($colorButton), $colorHsl)); /* FF 3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, $colorButton), color-stop(100%, hsl(hue($colorButton), saturation($colorButton), $colorHsl))); /*Safari 4+, Chrome 2+*/
+ background: -webkit-linear-gradient($colorButton, hsl(hue($colorButton), saturation($colorButton), $colorHsl)); /* Safari 5.1+, Chrome 10+ */
+ background: -o-linear-gradient($colorButton, hsl(hue($colorButton), saturation($colorButton), $colorHsl)); /* Opera 11.10 */
+ /* filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#ffffff'); IE6 & IE7
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#ffffff')"; IE8+ */
+ background: linear-gradient($colorButton, hsl(hue($colorButton), saturation($colorButton), $colorHsl)); /* the standard */
+}
+
+// Global values
+// --------------------------------------------------
+
+
+// Grays
+// -------------------------
+$black: #000;
+$grayDarker: #222;
+$grayDark: #333;
+$gray: #555;
+$grayLight: #999;
+$grayLighter: #eee;
+$white: #fff;
+
+
+// Accent colors
+// -------------------------
+$blue: #049cdb;
+$blueDark: #0064cd;
+$green: #46a546;
+$red: #9d261d;
+$yellow: #ffc40d;
+$orange: #f89406;
+$pink: #c3325f;
+$purple: #7a43b6;
+
+
+// Own variables
+// ----------------------------
+
+$inputOutsideBorder: #4c4c4c;
+$colorError: #af3030;
+$colorSuccess: #108946;
+$colorFacebook: #3b5a97;
+$colorGooglePlus: #ba2828;
+$colorViadeo: #242424;
+$colorTwitter: #2fa3dc;
+$colorLinkedin: #025b8e;
+$colorGithub: #908c8b;
+$backgroundSideBar: #1a1a1a;
+$background: #141414;
+$defaultFontFamily: 'tahoma', lucida grande,verdana,arial,sans-serif;
+$sideBarGlow: 0 0 15px rgba(0, 0, 0, 1);
+$dropDownLanguageGlow: 0 0 15px rgba(0, 0, 0, 1);
+$sideBarBlockBorderColorBottom: $black;
+$sideBarBlockBorderColorTop: #232222;
+$identityPhraseanetBackgroundColor: #f2f2f2;
+$identityPhraseanetColor: #323232;
+$identityPhraseanetIconColor: #b3b3b3;
+$languageCaretColor: $white;
+$inputIEBackground: #6D6D6D;
+
+// Scaffolding
+// -------------------------
+$bodyBackground: $white;
+$textColor: $white;
+
+
+// Links
+// -------------------------
+$linkColor: #fff;
+$linkColorHover: darken($linkColor, 15%);
+$footerLinkColor: $linkColor;
+$footerLinkColorHover: $linkColorHover;
+
+
+// Typography
+// -------------------------
+$sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
+$serifFontFamily: Georgia, "Times New Roman", Times, serif;
+$monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace;
+
+$baseFontSize: 14px;
+$baseFontFamily: $defaultFontFamily;
+$baseLineHeight: 20px;
+$altFontFamily: $serifFontFamily;
+
+$headingsFontFamily: inherit; // empty to use BS default, $baseFontFamily
+$headingsFontWeight: bold; // instead of browser default, bold
+$headingsColor: inherit; // empty to use BS default, $textColor
+
+
+// Component sizing
+// -------------------------
+// Based on 14px font-size and 20px line-height
+
+$fontSizeLarge: $baseFontSize * 1.25; // ~18px
+$fontSizeSmall: $baseFontSize * 0.85; // ~12px
+$fontSizeMini: $baseFontSize * 0.75; // ~11px
+
+$paddingLarge: 11px 19px; // 44px
+$paddingSmall: 2px 10px; // 26px
+$paddingMini: 0 6px; // 22px
+
+$baseBorderRadius: 4px;
+$borderRadiusLarge: 6px;
+$borderRadiusSmall: 3px;
+
+
+// Tables
+// -------------------------
+$tableBackground: transparent; // overall background-color
+$tableBackgroundAccent: #f9f9f9; // for striping
+$tableBackgroundHover: #f5f5f5; // for hover
+$tableBorder: #ddd; // table and cell border
+
+// Buttons
+// -------------------------
+$btnBackground: $white;
+$btnBackgroundHighlight: darken($white, 10%);
+$btnBorder: #bbb;
+
+$btnPrimaryBackground: $linkColor;
+$btnPrimaryBackgroundHighlight: darken($btnPrimaryBackground, 20%);
+
+$btnInfoBackground: #3d8fa8;
+$btnInfoBackgroundHighlight: #0d4461;
+
+$btnSuccessBackground: #2fac74;
+$btnSuccessBackgroundHighlight: #118749;
+
+$btnWarningBackground: lighten($orange, 15%);
+$btnWarningBackgroundHighlight: $orange;
+
+$btnDangerBackground: #ee5f5b;
+$btnDangerBackgroundHighlight: #bd362f;
+
+$btnInverseBackground: #444;
+$btnInverseBackgroundHighlight: $grayDarker;
+
+
+// Forms
+// -------------------------
+$inputBackground: $black;
+$inputBorder: none;
+$inputBorderRadius: 0px;
+$inputDisabledBackground: $grayLighter;
+$formActionsBackground: #f5f5f5;
+$inputHeight: $baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
+
+
+// Dropdowns
+// -------------------------
+$dropdownBackground: $backgroundSideBar;
+$dropdownBorder: rgba(0,0,0,.2);
+$dropdownDividerTop: #e5e5e5;
+$dropdownDividerBottom: $white;
+
+$dropdownLinkColor: $white;
+$dropdownLinkColorHover: $white;
+$dropdownLinkColorActive: $white;
+
+$dropdownLinkBackgroundActive: lighten($backgroundSideBar, 10%);
+$dropdownLinkBackgroundHover: $dropdownLinkBackgroundActive;
+
+
+
+// COMPONENT VARIABLES
+// --------------------------------------------------
+
+
+// Z-index master list
+// -------------------------
+// Used for a bird's eye view of components dependent on the z-axis
+// Try to avoid customizing these :)
+$zindexDropdown: 1000;
+$zindexPopover: 1010;
+$zindexTooltip: 1030;
+$zindexFixedNavbar: 1030;
+$zindexModalBackdrop: 1040;
+$zindexModal: 1050;
+
+
+// Sprite icons path
+// -------------------------
+$iconSpritePath: "/assets/vendors/bootstrap/img/glyphicons-halflings.png";
+$iconWhiteSpritePath: "/assets/vendors/bootstrap/img/glyphicons-halflings-white.png";
+
+
+// Input placeholder text color
+// -------------------------
+$placeholderText: $grayLight;
+
+
+// Hr border color
+// -------------------------
+$hrBorder: $grayLighter;
+
+
+// Horizontal forms , lists
+// -------------------------
+$horizontalComponentOffset: 180px;
+
+
+// Wells
+// -------------------------
+$wellBackground: #f5f5f5;
+
+
+// Navbar
+// -------------------------
+$navbarCollapseWidth: 979px;
+$navbarCollapseDesktopWidth: $navbarCollapseWidth + 1;
+
+$navbarHeight: 40px;
+$navbarBackgroundHighlight: #ffffff;
+$navbarBackground: darken($navbarBackgroundHighlight, 5%);
+$navbarBorder: darken($navbarBackground, 12%);
+
+$navbarText: #777;
+$navbarLinkColor: #777;
+$navbarLinkColorHover: $grayDark;
+$navbarLinkColorActive: $gray;
+$navbarLinkBackgroundHover: transparent;
+$navbarLinkBackgroundActive: darken($navbarBackground, 5%);
+
+$navbarBrandColor: $navbarLinkColor;
+
+// Inverted navbar
+$navbarInverseBackground: #111111;
+$navbarInverseBackgroundHighlight: #222222;
+$navbarInverseBorder: #252525;
+
+$navbarInverseText: $grayLight;
+$navbarInverseLinkColor: $grayLight;
+$navbarInverseLinkColorHover: $white;
+$navbarInverseLinkColorActive: $navbarInverseLinkColorHover;
+$navbarInverseLinkBackgroundHover: transparent;
+$navbarInverseLinkBackgroundActive: $navbarInverseBackground;
+
+$navbarInverseSearchBackground: lighten($navbarInverseBackground, 25%);
+$navbarInverseSearchBackgroundFocus: $white;
+$navbarInverseSearchBorder: $navbarInverseBackground;
+$navbarInverseSearchPlaceholderColor: #ccc;
+
+$navbarInverseBrandColor: $navbarInverseLinkColor;
+
+
+// Pagination
+// -------------------------
+$paginationBackground: #fff;
+$paginationBorder: #ddd;
+$paginationActiveBackground: #f5f5f5;
+
+
+// Hero unit
+// -------------------------
+$heroUnitBackground: $grayLighter;
+$heroUnitHeadingColor: inherit;
+$heroUnitLeadColor: inherit;
+
+
+// Form states and alerts
+// -------------------------
+$warningText: $white;
+$warningBackground: $grayDark;
+$warningBorder: darken(adjust-hue($warningBackground, -10), 3%);
+
+$errorText: $white;
+$errorBackground: #c9322b;
+$errorBorder: darken(adjust-hue($errorBackground, -10), 3%);
+
+$successText: $white;
+$successBackground: #1f914f;
+$successBorder: darken(adjust-hue($successBackground, -10), 5%);
+
+$infoText: $white;
+$infoBackground: #4889af;
+$infoBorder: darken(adjust-hue($infoBackground, -10), 7%);
+
+
+
+
+// Tooltips and popovers
+// -------------------------
+$tooltipColor: #fff;
+$tooltipBackground: #000;
+$tooltipArrowWidth: 5px;
+$tooltipArrowColor: $tooltipBackground;
+
+$popoverBackground: #fff;
+$popoverArrowWidth: 10px;
+$popoverArrowColor: #fff;
+$popoverTitleBackground: darken($popoverBackground, 3%);
+
+// Special enhancement for popovers
+$popoverArrowOuterWidth: $popoverArrowWidth + 1;
+$popoverArrowOuterColor: rgba(0,0,0,.25);
+
+
+
+// GRID
+// --------------------------------------------------
+
+
+// Default 940px grid
+// -------------------------
+$gridColumns: 12;
+$gridColumnWidth: 60px;
+$gridGutterWidth: 20px;
+$gridRowWidth: ($gridColumns * $gridColumnWidth) + ($gridGutterWidth * ($gridColumns - 1));
+
+// 1200px min
+$gridColumnWidth1200: 70px;
+$gridGutterWidth1200: 30px;
+$gridRowWidth1200: ($gridColumns * $gridColumnWidth1200) + ($gridGutterWidth1200 * ($gridColumns - 1));
+
+// 768px-979px
+$gridColumnWidth768: 42px;
+$gridGutterWidth768: 20px;
+$gridRowWidth768: ($gridColumns * $gridColumnWidth768) + ($gridGutterWidth768 * ($gridColumns - 1));
+
+
+// Fluid grid
+// -------------------------
+$fluidGridColumnWidth: percentage($gridColumnWidth/$gridRowWidth);
+$fluidGridGutterWidth: percentage($gridGutterWidth/$gridRowWidth);
+
+// 1200px min
+$fluidGridColumnWidth1200: percentage($gridColumnWidth1200/$gridRowWidth1200);
+$fluidGridGutterWidth1200: percentage($gridGutterWidth1200/$gridRowWidth1200);
+
+// 768px-979px
+$fluidGridColumnWidth768: percentage($gridColumnWidth768/$gridRowWidth768);
+$fluidGridGutterWidth768: percentage($gridGutterWidth768/$gridRowWidth768);
diff --git a/resources/www/authentication/styles/main.scss b/resources/www/authentication/styles/main.scss
new file mode 100644
index 0000000000..41d928d67c
--- /dev/null
+++ b/resources/www/authentication/styles/main.scss
@@ -0,0 +1,7 @@
+@import '../../_shared/styles/variables';
+@import 'variables';
+@import '../../vendors/bootstrap/bootstrap';
+@import '../../account/styles/skin';
+
+@import '../../../../www/bower_components/font-awesome/scss/font-awesome.scss';
+@import '../../../../www/bower_components/jquery-ui/themes/base/jquery.ui.autocomplete'; // not extension for inline import
diff --git a/www/skins/error-pages/403.png b/resources/www/common/images/error-pages/403.png
similarity index 100%
rename from www/skins/error-pages/403.png
rename to resources/www/common/images/error-pages/403.png
diff --git a/www/skins/error-pages/404.png b/resources/www/common/images/error-pages/404.png
similarity index 100%
rename from www/skins/error-pages/404.png
rename to resources/www/common/images/error-pages/404.png
diff --git a/www/skins/error-pages/500.png b/resources/www/common/images/error-pages/500.png
similarity index 100%
rename from www/skins/error-pages/500.png
rename to resources/www/common/images/error-pages/500.png
diff --git a/www/skins/error-pages/503.png b/resources/www/common/images/error-pages/503.png
similarity index 100%
rename from www/skins/error-pages/503.png
rename to resources/www/common/images/error-pages/503.png
diff --git a/www/skins/error-pages/background.png b/resources/www/common/images/error-pages/background.png
similarity index 100%
rename from www/skins/error-pages/background.png
rename to resources/www/common/images/error-pages/background.png
diff --git a/www/skins/error-pages/error.png b/resources/www/common/images/error-pages/error.png
similarity index 100%
rename from www/skins/error-pages/error.png
rename to resources/www/common/images/error-pages/error.png
diff --git a/www/skins/grey.gif b/resources/www/common/images/grey.gif
similarity index 100%
rename from www/skins/grey.gif
rename to resources/www/common/images/grey.gif
diff --git a/www/skins/client/959595/images/222222_256x240_icons_icons.png b/resources/www/common/images/icons/222222_256x240_icons_icons.png
similarity index 100%
rename from www/skins/client/959595/images/222222_256x240_icons_icons.png
rename to resources/www/common/images/icons/222222_256x240_icons_icons.png
diff --git a/www/skins/icons/Feedback60.png b/resources/www/common/images/icons/Feedback60.png
similarity index 100%
rename from www/skins/icons/Feedback60.png
rename to resources/www/common/images/icons/Feedback60.png
diff --git a/www/skins/icons/Mariadb-big.png b/resources/www/common/images/icons/Mariadb-big.png
similarity index 100%
rename from www/skins/icons/Mariadb-big.png
rename to resources/www/common/images/icons/Mariadb-big.png
diff --git a/www/skins/icons/SHARE16.png b/resources/www/common/images/icons/SHARE16.png
similarity index 100%
rename from www/skins/icons/SHARE16.png
rename to resources/www/common/images/icons/SHARE16.png
diff --git a/www/skins/icons/add.gif b/resources/www/common/images/icons/add.gif
similarity index 100%
rename from www/skins/icons/add.gif
rename to resources/www/common/images/icons/add.gif
diff --git a/www/skins/icons/add.png b/resources/www/common/images/icons/add.png
similarity index 100%
rename from www/skins/icons/add.png
rename to resources/www/common/images/icons/add.png
diff --git a/www/skins/icons/adjust01.gif b/resources/www/common/images/icons/adjust01.gif
similarity index 100%
rename from www/skins/icons/adjust01.gif
rename to resources/www/common/images/icons/adjust01.gif
diff --git a/www/skins/icons/adjust02.gif b/resources/www/common/images/icons/adjust02.gif
similarity index 100%
rename from www/skins/icons/adjust02.gif
rename to resources/www/common/images/icons/adjust02.gif
diff --git a/www/skins/icons/adjust03.gif b/resources/www/common/images/icons/adjust03.gif
similarity index 100%
rename from www/skins/icons/adjust03.gif
rename to resources/www/common/images/icons/adjust03.gif
diff --git a/www/skins/icons/ajax-loader.gif b/resources/www/common/images/icons/ajax-loader.gif
similarity index 100%
rename from www/skins/icons/ajax-loader.gif
rename to resources/www/common/images/icons/ajax-loader.gif
diff --git a/www/skins/icons/alert.png b/resources/www/common/images/icons/alert.png
similarity index 100%
rename from www/skins/icons/alert.png
rename to resources/www/common/images/icons/alert.png
diff --git a/www/skins/icons/alpha.png b/resources/www/common/images/icons/alpha.png
similarity index 100%
rename from www/skins/icons/alpha.png
rename to resources/www/common/images/icons/alpha.png
diff --git a/www/skins/icons/answers.gif b/resources/www/common/images/icons/answers.gif
similarity index 100%
rename from www/skins/icons/answers.gif
rename to resources/www/common/images/icons/answers.gif
diff --git a/www/skins/icons/api_info.png b/resources/www/common/images/icons/api_info.png
similarity index 100%
rename from www/skins/icons/api_info.png
rename to resources/www/common/images/icons/api_info.png
diff --git a/www/skins/icons/api_menu.png b/resources/www/common/images/icons/api_menu.png
similarity index 100%
rename from www/skins/icons/api_menu.png
rename to resources/www/common/images/icons/api_menu.png
diff --git a/www/skins/icons/baskLoader.gif b/resources/www/common/images/icons/baskLoader.gif
similarity index 100%
rename from www/skins/icons/baskLoader.gif
rename to resources/www/common/images/icons/baskLoader.gif
diff --git a/www/skins/icons/baskLoader000.gif b/resources/www/common/images/icons/baskLoader000.gif
similarity index 100%
rename from www/skins/icons/baskLoader000.gif
rename to resources/www/common/images/icons/baskLoader000.gif
diff --git a/www/skins/icons/baskLoaderFFF.gif b/resources/www/common/images/icons/baskLoaderFFF.gif
similarity index 100%
rename from www/skins/icons/baskLoaderFFF.gif
rename to resources/www/common/images/icons/baskLoaderFFF.gif
diff --git a/www/skins/icons/bask_back.png b/resources/www/common/images/icons/bask_back.png
similarity index 100%
rename from www/skins/icons/bask_back.png
rename to resources/www/common/images/icons/bask_back.png
diff --git a/www/skins/icons/bask_back_light.png b/resources/www/common/images/icons/bask_back_light.png
similarity index 100%
rename from www/skins/icons/bask_back_light.png
rename to resources/www/common/images/icons/bask_back_light.png
diff --git a/www/skins/icons/bask_new_back.png b/resources/www/common/images/icons/bask_new_back.png
similarity index 100%
rename from www/skins/icons/bask_new_back.png
rename to resources/www/common/images/icons/bask_new_back.png
diff --git a/www/skins/icons/bask_new_back_light.png b/resources/www/common/images/icons/bask_new_back_light.png
similarity index 100%
rename from www/skins/icons/bask_new_back_light.png
rename to resources/www/common/images/icons/bask_new_back_light.png
diff --git a/www/skins/icons/basket.gif b/resources/www/common/images/icons/basket.gif
similarity index 100%
rename from www/skins/icons/basket.gif
rename to resources/www/common/images/icons/basket.gif
diff --git a/www/skins/icons/basket.png b/resources/www/common/images/icons/basket.png
similarity index 100%
rename from www/skins/icons/basket.png
rename to resources/www/common/images/icons/basket.png
diff --git a/www/skins/icons/basket_push.png b/resources/www/common/images/icons/basket_push.png
similarity index 100%
rename from www/skins/icons/basket_push.png
rename to resources/www/common/images/icons/basket_push.png
diff --git a/www/skins/icons/basket_push_unread.png b/resources/www/common/images/icons/basket_push_unread.png
similarity index 100%
rename from www/skins/icons/basket_push_unread.png
rename to resources/www/common/images/icons/basket_push_unread.png
diff --git a/www/skins/icons/basket_validation.png b/resources/www/common/images/icons/basket_validation.png
similarity index 100%
rename from www/skins/icons/basket_validation.png
rename to resources/www/common/images/icons/basket_validation.png
diff --git a/www/skins/icons/bgd_facetFilter.png b/resources/www/common/images/icons/bgd_facetFilter.png
similarity index 100%
rename from www/skins/icons/bgd_facetFilter.png
rename to resources/www/common/images/icons/bgd_facetFilter.png
diff --git a/www/skins/icons/button-red.png b/resources/www/common/images/icons/button-red.png
similarity index 100%
rename from www/skins/icons/button-red.png
rename to resources/www/common/images/icons/button-red.png
diff --git a/www/skins/icons/buttoninfo2.gif b/resources/www/common/images/icons/buttoninfo2.gif
similarity index 100%
rename from www/skins/icons/buttoninfo2.gif
rename to resources/www/common/images/icons/buttoninfo2.gif
diff --git a/www/skins/icons/cal.png b/resources/www/common/images/icons/cal.png
similarity index 100%
rename from www/skins/icons/cal.png
rename to resources/www/common/images/icons/cal.png
diff --git a/www/skins/icons/ccoch0.gif b/resources/www/common/images/icons/ccoch0.gif
similarity index 100%
rename from www/skins/icons/ccoch0.gif
rename to resources/www/common/images/icons/ccoch0.gif
diff --git a/www/skins/icons/ccoch1.gif b/resources/www/common/images/icons/ccoch1.gif
similarity index 100%
rename from www/skins/icons/ccoch1.gif
rename to resources/www/common/images/icons/ccoch1.gif
diff --git a/www/skins/icons/ccoch2.gif b/resources/www/common/images/icons/ccoch2.gif
similarity index 100%
rename from www/skins/icons/ccoch2.gif
rename to resources/www/common/images/icons/ccoch2.gif
diff --git a/www/skins/icons/ccoch5.gif b/resources/www/common/images/icons/ccoch5.gif
similarity index 100%
rename from www/skins/icons/ccoch5.gif
rename to resources/www/common/images/icons/ccoch5.gif
diff --git a/www/skins/icons/chgcoll_0.gif b/resources/www/common/images/icons/chgcoll_0.gif
similarity index 100%
rename from www/skins/icons/chgcoll_0.gif
rename to resources/www/common/images/icons/chgcoll_0.gif
diff --git a/www/skins/icons/chgcoll_1.gif b/resources/www/common/images/icons/chgcoll_1.gif
similarity index 100%
rename from www/skins/icons/chgcoll_1.gif
rename to resources/www/common/images/icons/chgcoll_1.gif
diff --git a/www/skins/icons/chgcoll_history.png b/resources/www/common/images/icons/chgcoll_history.png
similarity index 100%
rename from www/skins/icons/chgcoll_history.png
rename to resources/www/common/images/icons/chgcoll_history.png
diff --git a/www/skins/icons/chgstatus_0.gif b/resources/www/common/images/icons/chgstatus_0.gif
similarity index 100%
rename from www/skins/icons/chgstatus_0.gif
rename to resources/www/common/images/icons/chgstatus_0.gif
diff --git a/www/skins/icons/chgstatus_1.gif b/resources/www/common/images/icons/chgstatus_1.gif
similarity index 100%
rename from www/skins/icons/chgstatus_1.gif
rename to resources/www/common/images/icons/chgstatus_1.gif
diff --git a/www/skins/icons/chgstatus_history.png b/resources/www/common/images/icons/chgstatus_history.png
similarity index 100%
rename from www/skins/icons/chgstatus_history.png
rename to resources/www/common/images/icons/chgstatus_history.png
diff --git a/www/skins/icons/clearLogs.png b/resources/www/common/images/icons/clearLogs.png
similarity index 100%
rename from www/skins/icons/clearLogs.png
rename to resources/www/common/images/icons/clearLogs.png
diff --git a/www/skins/icons/closer.gif b/resources/www/common/images/icons/closer.gif
similarity index 100%
rename from www/skins/icons/closer.gif
rename to resources/www/common/images/icons/closer.gif
diff --git a/www/skins/icons/cmdok.gif b/resources/www/common/images/icons/cmdok.gif
similarity index 100%
rename from www/skins/icons/cmdok.gif
rename to resources/www/common/images/icons/cmdok.gif
diff --git a/www/skins/icons/compare.gif b/resources/www/common/images/icons/compare.gif
similarity index 100%
rename from www/skins/icons/compare.gif
rename to resources/www/common/images/icons/compare.gif
diff --git a/www/skins/icons/contextMenuTrigger.png b/resources/www/common/images/icons/contextMenuTrigger.png
similarity index 100%
rename from www/skins/icons/contextMenuTrigger.png
rename to resources/www/common/images/icons/contextMenuTrigger.png
diff --git a/www/skins/icons/create_coll.png b/resources/www/common/images/icons/create_coll.png
similarity index 100%
rename from www/skins/icons/create_coll.png
rename to resources/www/common/images/icons/create_coll.png
diff --git a/www/skins/icons/cursor-move.png b/resources/www/common/images/icons/cursor-move.png
similarity index 100%
rename from www/skins/icons/cursor-move.png
rename to resources/www/common/images/icons/cursor-move.png
diff --git a/www/skins/icons/dailymotion-logo.png b/resources/www/common/images/icons/dailymotion-logo.png
similarity index 100%
rename from www/skins/icons/dailymotion-logo.png
rename to resources/www/common/images/icons/dailymotion-logo.png
diff --git a/www/skins/icons/dailymotion-small.gif b/resources/www/common/images/icons/dailymotion-small.gif
similarity index 100%
rename from www/skins/icons/dailymotion-small.gif
rename to resources/www/common/images/icons/dailymotion-small.gif
diff --git a/www/skins/icons/db-remove.png b/resources/www/common/images/icons/db-remove.png
similarity index 100%
rename from www/skins/icons/db-remove.png
rename to resources/www/common/images/icons/db-remove.png
diff --git a/www/skins/icons/delete.gif b/resources/www/common/images/icons/delete.gif
similarity index 100%
rename from www/skins/icons/delete.gif
rename to resources/www/common/images/icons/delete.gif
diff --git a/www/skins/prod/000000/images/delete.png b/resources/www/common/images/icons/delete.png
similarity index 100%
rename from www/skins/prod/000000/images/delete.png
rename to resources/www/common/images/icons/delete.png
diff --git a/www/skins/icons/delete_0.gif b/resources/www/common/images/icons/delete_0.gif
similarity index 100%
rename from www/skins/icons/delete_0.gif
rename to resources/www/common/images/icons/delete_0.gif
diff --git a/www/skins/icons/deleted.png b/resources/www/common/images/icons/deleted.png
similarity index 100%
rename from www/skins/icons/deleted.png
rename to resources/www/common/images/icons/deleted.png
diff --git a/www/skins/icons/disktt_0.gif b/resources/www/common/images/icons/disktt_0.gif
similarity index 100%
rename from www/skins/icons/disktt_0.gif
rename to resources/www/common/images/icons/disktt_0.gif
diff --git a/www/skins/icons/disktt_1.gif b/resources/www/common/images/icons/disktt_1.gif
similarity index 100%
rename from www/skins/icons/disktt_1.gif
rename to resources/www/common/images/icons/disktt_1.gif
diff --git a/www/skins/icons/disktt_history.png b/resources/www/common/images/icons/disktt_history.png
similarity index 100%
rename from www/skins/icons/disktt_history.png
rename to resources/www/common/images/icons/disktt_history.png
diff --git a/www/skins/icons/door.png b/resources/www/common/images/icons/door.png
similarity index 100%
rename from www/skins/icons/door.png
rename to resources/www/common/images/icons/door.png
diff --git a/www/skins/icons/download.gif b/resources/www/common/images/icons/download.gif
similarity index 100%
rename from www/skins/icons/download.gif
rename to resources/www/common/images/icons/download.gif
diff --git a/www/skins/icons/dublincore.png b/resources/www/common/images/icons/dublincore.png
similarity index 100%
rename from www/skins/icons/dublincore.png
rename to resources/www/common/images/icons/dublincore.png
diff --git a/www/skins/icons/edit_0.gif b/resources/www/common/images/icons/edit_0.gif
similarity index 100%
rename from www/skins/icons/edit_0.gif
rename to resources/www/common/images/icons/edit_0.gif
diff --git a/www/skins/icons/facebook.ico b/resources/www/common/images/icons/facebook.ico
similarity index 100%
rename from www/skins/icons/facebook.ico
rename to resources/www/common/images/icons/facebook.ico
diff --git a/www/skins/icons/feedback16.png b/resources/www/common/images/icons/feedback16.png
similarity index 100%
rename from www/skins/icons/feedback16.png
rename to resources/www/common/images/icons/feedback16.png
diff --git a/www/skins/icons/file-edit.png b/resources/www/common/images/icons/file-edit.png
similarity index 100%
rename from www/skins/icons/file-edit.png
rename to resources/www/common/images/icons/file-edit.png
diff --git a/www/skins/icons/filters_cl.gif b/resources/www/common/images/icons/filters_cl.gif
similarity index 100%
rename from www/skins/icons/filters_cl.gif
rename to resources/www/common/images/icons/filters_cl.gif
diff --git a/www/skins/icons/filters_op.gif b/resources/www/common/images/icons/filters_op.gif
similarity index 100%
rename from www/skins/icons/filters_op.gif
rename to resources/www/common/images/icons/filters_op.gif
diff --git a/www/skins/icons/flag_18.gif b/resources/www/common/images/icons/flag_18.gif
similarity index 100%
rename from www/skins/icons/flag_18.gif
rename to resources/www/common/images/icons/flag_18.gif
diff --git a/www/skins/icons/flickr-small.gif b/resources/www/common/images/icons/flickr-small.gif
similarity index 100%
rename from www/skins/icons/flickr-small.gif
rename to resources/www/common/images/icons/flickr-small.gif
diff --git a/www/skins/icons/flickr.gif b/resources/www/common/images/icons/flickr.gif
similarity index 100%
rename from www/skins/icons/flickr.gif
rename to resources/www/common/images/icons/flickr.gif
diff --git a/www/skins/icons/foldph20close_0.gif b/resources/www/common/images/icons/foldph20close_0.gif
similarity index 100%
rename from www/skins/icons/foldph20close_0.gif
rename to resources/www/common/images/icons/foldph20close_0.gif
diff --git a/www/skins/icons/foldph20open_0.gif b/resources/www/common/images/icons/foldph20open_0.gif
similarity index 100%
rename from www/skins/icons/foldph20open_0.gif
rename to resources/www/common/images/icons/foldph20open_0.gif
diff --git a/www/skins/icons/ftp-loader-blank.gif b/resources/www/common/images/icons/ftp-loader-blank.gif
similarity index 100%
rename from www/skins/icons/ftp-loader-blank.gif
rename to resources/www/common/images/icons/ftp-loader-blank.gif
diff --git a/www/skins/icons/ftp-loader.gif b/resources/www/common/images/icons/ftp-loader.gif
similarity index 100%
rename from www/skins/icons/ftp-loader.gif
rename to resources/www/common/images/icons/ftp-loader.gif
diff --git a/www/skins/icons/fullscreen.gif b/resources/www/common/images/icons/fullscreen.gif
similarity index 100%
rename from www/skins/icons/fullscreen.gif
rename to resources/www/common/images/icons/fullscreen.gif
diff --git a/www/skins/icons/grip.gif b/resources/www/common/images/icons/grip.gif
similarity index 100%
rename from www/skins/icons/grip.gif
rename to resources/www/common/images/icons/grip.gif
diff --git a/www/skins/icons/group.jpg b/resources/www/common/images/icons/group.jpg
similarity index 100%
rename from www/skins/icons/group.jpg
rename to resources/www/common/images/icons/group.jpg
diff --git a/www/skins/icons/group_back.png b/resources/www/common/images/icons/group_back.png
similarity index 100%
rename from www/skins/icons/group_back.png
rename to resources/www/common/images/icons/group_back.png
diff --git a/www/skins/icons/help.png b/resources/www/common/images/icons/help.png
similarity index 100%
rename from www/skins/icons/help.png
rename to resources/www/common/images/icons/help.png
diff --git a/www/skins/icons/help32.png b/resources/www/common/images/icons/help32.png
similarity index 100%
rename from www/skins/icons/help32.png
rename to resources/www/common/images/icons/help32.png
diff --git a/www/skins/icons/hsplitter.png b/resources/www/common/images/icons/hsplitter.png
similarity index 100%
rename from www/skins/icons/hsplitter.png
rename to resources/www/common/images/icons/hsplitter.png
diff --git a/www/skins/icons/html5-logo.png b/resources/www/common/images/icons/html5-logo.png
similarity index 100%
rename from www/skins/icons/html5-logo.png
rename to resources/www/common/images/icons/html5-logo.png
diff --git a/www/skins/icons/icon_audio.gif b/resources/www/common/images/icons/icon_audio.gif
similarity index 100%
rename from www/skins/icons/icon_audio.gif
rename to resources/www/common/images/icons/icon_audio.gif
diff --git a/www/skins/icons/icon_audio.png b/resources/www/common/images/icons/icon_audio.png
similarity index 100%
rename from www/skins/icons/icon_audio.png
rename to resources/www/common/images/icons/icon_audio.png
diff --git a/www/skins/icons/icon_clear_search.png b/resources/www/common/images/icons/icon_clear_search.png
similarity index 100%
rename from www/skins/icons/icon_clear_search.png
rename to resources/www/common/images/icons/icon_clear_search.png
diff --git a/www/skins/icons/icon_document.gif b/resources/www/common/images/icons/icon_document.gif
similarity index 100%
rename from www/skins/icons/icon_document.gif
rename to resources/www/common/images/icons/icon_document.gif
diff --git a/www/skins/icons/icon_document.png b/resources/www/common/images/icons/icon_document.png
similarity index 100%
rename from www/skins/icons/icon_document.png
rename to resources/www/common/images/icons/icon_document.png
diff --git a/www/skins/icons/icon_flash.gif b/resources/www/common/images/icons/icon_flash.gif
similarity index 100%
rename from www/skins/icons/icon_flash.gif
rename to resources/www/common/images/icons/icon_flash.gif
diff --git a/www/skins/icons/icon_flash.png b/resources/www/common/images/icons/icon_flash.png
similarity index 100%
rename from www/skins/icons/icon_flash.png
rename to resources/www/common/images/icons/icon_flash.png
diff --git a/www/skins/icons/icon_image.gif b/resources/www/common/images/icons/icon_image.gif
similarity index 100%
rename from www/skins/icons/icon_image.gif
rename to resources/www/common/images/icons/icon_image.gif
diff --git a/www/skins/icons/icon_image.png b/resources/www/common/images/icons/icon_image.png
similarity index 100%
rename from www/skins/icons/icon_image.png
rename to resources/www/common/images/icons/icon_image.png
diff --git a/www/skins/icons/icon_story.gif b/resources/www/common/images/icons/icon_story.gif
similarity index 100%
rename from www/skins/icons/icon_story.gif
rename to resources/www/common/images/icons/icon_story.gif
diff --git a/www/skins/icons/icon_story.png b/resources/www/common/images/icons/icon_story.png
similarity index 100%
rename from www/skins/icons/icon_story.png
rename to resources/www/common/images/icons/icon_story.png
diff --git a/www/skins/icons/icon_tree.png b/resources/www/common/images/icons/icon_tree.png
similarity index 100%
rename from www/skins/icons/icon_tree.png
rename to resources/www/common/images/icons/icon_tree.png
diff --git a/www/skins/icons/icon_user.png b/resources/www/common/images/icons/icon_user.png
similarity index 100%
rename from www/skins/icons/icon_user.png
rename to resources/www/common/images/icons/icon_user.png
diff --git a/www/skins/icons/icon_video.gif b/resources/www/common/images/icons/icon_video.gif
similarity index 100%
rename from www/skins/icons/icon_video.gif
rename to resources/www/common/images/icons/icon_video.gif
diff --git a/www/skins/icons/icon_video.png b/resources/www/common/images/icons/icon_video.png
similarity index 100%
rename from www/skins/icons/icon_video.png
rename to resources/www/common/images/icons/icon_video.png
diff --git a/www/skins/icons/icone_settings.png b/resources/www/common/images/icons/icone_settings.png
similarity index 100%
rename from www/skins/icons/icone_settings.png
rename to resources/www/common/images/icons/icone_settings.png
diff --git a/www/skins/icons/imgtools_0.gif b/resources/www/common/images/icons/imgtools_0.gif
similarity index 100%
rename from www/skins/icons/imgtools_0.gif
rename to resources/www/common/images/icons/imgtools_0.gif
diff --git a/www/skins/icons/imgtools_1.gif b/resources/www/common/images/icons/imgtools_1.gif
similarity index 100%
rename from www/skins/icons/imgtools_1.gif
rename to resources/www/common/images/icons/imgtools_1.gif
diff --git a/www/skins/icons/imgtools_history.png b/resources/www/common/images/icons/imgtools_history.png
similarity index 100%
rename from www/skins/icons/imgtools_history.png
rename to resources/www/common/images/icons/imgtools_history.png
diff --git a/www/skins/icons/indicator.gif b/resources/www/common/images/icons/indicator.gif
similarity index 100%
rename from www/skins/icons/indicator.gif
rename to resources/www/common/images/icons/indicator.gif
diff --git a/www/skins/icons/info.gif b/resources/www/common/images/icons/info.gif
similarity index 100%
rename from www/skins/icons/info.gif
rename to resources/www/common/images/icons/info.gif
diff --git a/www/skins/icons/input_back.png b/resources/www/common/images/icons/input_back.png
similarity index 100%
rename from www/skins/icons/input_back.png
rename to resources/www/common/images/icons/input_back.png
diff --git a/www/skins/icons/light_bas.gif b/resources/www/common/images/icons/light_bas.gif
similarity index 100%
rename from www/skins/icons/light_bas.gif
rename to resources/www/common/images/icons/light_bas.gif
diff --git a/www/skins/icons/light_bas2.gif b/resources/www/common/images/icons/light_bas2.gif
similarity index 100%
rename from www/skins/icons/light_bas2.gif
rename to resources/www/common/images/icons/light_bas2.gif
diff --git a/www/skins/icons/light_haut.gif b/resources/www/common/images/icons/light_haut.gif
similarity index 100%
rename from www/skins/icons/light_haut.gif
rename to resources/www/common/images/icons/light_haut.gif
diff --git a/www/skins/icons/light_haut2.gif b/resources/www/common/images/icons/light_haut2.gif
similarity index 100%
rename from www/skins/icons/light_haut2.gif
rename to resources/www/common/images/icons/light_haut2.gif
diff --git a/www/skins/icons/light_left.gif b/resources/www/common/images/icons/light_left.gif
similarity index 100%
rename from www/skins/icons/light_left.gif
rename to resources/www/common/images/icons/light_left.gif
diff --git a/www/skins/icons/light_new.gif b/resources/www/common/images/icons/light_new.gif
similarity index 100%
rename from www/skins/icons/light_new.gif
rename to resources/www/common/images/icons/light_new.gif
diff --git a/www/skins/icons/light_right.gif b/resources/www/common/images/icons/light_right.gif
similarity index 100%
rename from www/skins/icons/light_right.gif
rename to resources/www/common/images/icons/light_right.gif
diff --git a/www/skins/icons/ligth-on.png b/resources/www/common/images/icons/ligth-on.png
similarity index 100%
rename from www/skins/icons/ligth-on.png
rename to resources/www/common/images/icons/ligth-on.png
diff --git a/www/skins/icons/load.gif b/resources/www/common/images/icons/load.gif
similarity index 100%
rename from www/skins/icons/load.gif
rename to resources/www/common/images/icons/load.gif
diff --git a/www/skins/report/ajax-loader2.gif b/resources/www/common/images/icons/loader-black.gif
similarity index 57%
rename from www/skins/report/ajax-loader2.gif
rename to resources/www/common/images/icons/loader-black.gif
index 7313d25fa1..3288d1035d 100644
Binary files a/www/skins/report/ajax-loader2.gif and b/resources/www/common/images/icons/loader-black.gif differ
diff --git a/resources/www/common/images/icons/loader-white.gif b/resources/www/common/images/icons/loader-white.gif
new file mode 100644
index 0000000000..a2f0030542
Binary files /dev/null and b/resources/www/common/images/icons/loader-white.gif differ
diff --git a/www/skins/icons/loader.gif b/resources/www/common/images/icons/loader.gif
similarity index 100%
rename from www/skins/icons/loader.gif
rename to resources/www/common/images/icons/loader.gif
diff --git a/www/skins/icons/loader000.gif b/resources/www/common/images/icons/loader000.gif
similarity index 100%
rename from www/skins/icons/loader000.gif
rename to resources/www/common/images/icons/loader000.gif
diff --git a/www/skins/icons/loader000000.gif b/resources/www/common/images/icons/loader000000.gif
similarity index 100%
rename from www/skins/icons/loader000000.gif
rename to resources/www/common/images/icons/loader000000.gif
diff --git a/www/skins/icons/loader111111.gif b/resources/www/common/images/icons/loader111111.gif
similarity index 100%
rename from www/skins/icons/loader111111.gif
rename to resources/www/common/images/icons/loader111111.gif
diff --git a/www/skins/icons/loader1F1E1B.gif b/resources/www/common/images/icons/loader1F1E1B.gif
similarity index 100%
rename from www/skins/icons/loader1F1E1B.gif
rename to resources/www/common/images/icons/loader1F1E1B.gif
diff --git a/www/skins/icons/loader404040.gif b/resources/www/common/images/icons/loader404040.gif
similarity index 100%
rename from www/skins/icons/loader404040.gif
rename to resources/www/common/images/icons/loader404040.gif
diff --git a/www/skins/icons/loader414141.gif b/resources/www/common/images/icons/loader414141.gif
similarity index 100%
rename from www/skins/icons/loader414141.gif
rename to resources/www/common/images/icons/loader414141.gif
diff --git a/www/skins/icons/loaderB1B1B1.gif b/resources/www/common/images/icons/loaderB1B1B1.gif
similarity index 100%
rename from www/skins/icons/loaderB1B1B1.gif
rename to resources/www/common/images/icons/loaderB1B1B1.gif
diff --git a/www/skins/icons/loaderFFF.gif b/resources/www/common/images/icons/loaderFFF.gif
similarity index 100%
rename from www/skins/icons/loaderFFF.gif
rename to resources/www/common/images/icons/loaderFFF.gif
diff --git a/www/skins/icons/loaderd9d9d9.gif b/resources/www/common/images/icons/loaderd9d9d9.gif
similarity index 100%
rename from www/skins/icons/loaderd9d9d9.gif
rename to resources/www/common/images/icons/loaderd9d9d9.gif
diff --git a/www/skins/icons/logo-flash.png b/resources/www/common/images/icons/logo-flash.png
similarity index 100%
rename from www/skins/icons/logo-flash.png
rename to resources/www/common/images/icons/logo-flash.png
diff --git a/www/skins/icons/main-loader.gif b/resources/www/common/images/icons/main-loader.gif
similarity index 100%
rename from www/skins/icons/main-loader.gif
rename to resources/www/common/images/icons/main-loader.gif
diff --git a/www/skins/icons/miniadjust01.gif b/resources/www/common/images/icons/miniadjust01.gif
similarity index 100%
rename from www/skins/icons/miniadjust01.gif
rename to resources/www/common/images/icons/miniadjust01.gif
diff --git a/www/skins/icons/miniadjust02.gif b/resources/www/common/images/icons/miniadjust02.gif
similarity index 100%
rename from www/skins/icons/miniadjust02.gif
rename to resources/www/common/images/icons/miniadjust02.gif
diff --git a/www/skins/icons/miniadjust03.gif b/resources/www/common/images/icons/miniadjust03.gif
similarity index 100%
rename from www/skins/icons/miniadjust03.gif
rename to resources/www/common/images/icons/miniadjust03.gif
diff --git a/www/skins/icons/minus11.png b/resources/www/common/images/icons/minus11.png
similarity index 100%
rename from www/skins/icons/minus11.png
rename to resources/www/common/images/icons/minus11.png
diff --git a/www/skins/icons/mode_list.gif b/resources/www/common/images/icons/mode_list.gif
similarity index 100%
rename from www/skins/icons/mode_list.gif
rename to resources/www/common/images/icons/mode_list.gif
diff --git a/www/skins/icons/mtadd_0.gif b/resources/www/common/images/icons/mtadd_0.gif
similarity index 100%
rename from www/skins/icons/mtadd_0.gif
rename to resources/www/common/images/icons/mtadd_0.gif
diff --git a/www/skins/icons/myvalid.png b/resources/www/common/images/icons/myvalid.png
similarity index 100%
rename from www/skins/icons/myvalid.png
rename to resources/www/common/images/icons/myvalid.png
diff --git a/www/skins/icons/next.png b/resources/www/common/images/icons/next.png
similarity index 100%
rename from www/skins/icons/next.png
rename to resources/www/common/images/icons/next.png
diff --git a/www/skins/icons/no-valid.png b/resources/www/common/images/icons/no-valid.png
similarity index 100%
rename from www/skins/icons/no-valid.png
rename to resources/www/common/images/icons/no-valid.png
diff --git a/www/skins/icons/nodrop01.gif b/resources/www/common/images/icons/nodrop01.gif
similarity index 100%
rename from www/skins/icons/nodrop01.gif
rename to resources/www/common/images/icons/nodrop01.gif
diff --git a/www/skins/icons/ok.gif b/resources/www/common/images/icons/ok.gif
similarity index 100%
rename from www/skins/icons/ok.gif
rename to resources/www/common/images/icons/ok.gif
diff --git a/www/skins/icons/ok.png b/resources/www/common/images/icons/ok.png
similarity index 100%
rename from www/skins/icons/ok.png
rename to resources/www/common/images/icons/ok.png
diff --git a/www/skins/icons/play.png b/resources/www/common/images/icons/play.png
similarity index 100%
rename from www/skins/icons/play.png
rename to resources/www/common/images/icons/play.png
diff --git a/www/skins/icons/plus11.png b/resources/www/common/images/icons/plus11.png
similarity index 100%
rename from www/skins/icons/plus11.png
rename to resources/www/common/images/icons/plus11.png
diff --git a/www/skins/icons/plus16.png b/resources/www/common/images/icons/plus16.png
similarity index 100%
rename from www/skins/icons/plus16.png
rename to resources/www/common/images/icons/plus16.png
diff --git a/www/skins/icons/ppen_0.gif b/resources/www/common/images/icons/ppen_0.gif
similarity index 100%
rename from www/skins/icons/ppen_0.gif
rename to resources/www/common/images/icons/ppen_0.gif
diff --git a/www/skins/icons/ppen_1.gif b/resources/www/common/images/icons/ppen_1.gif
similarity index 100%
rename from www/skins/icons/ppen_1.gif
rename to resources/www/common/images/icons/ppen_1.gif
diff --git a/www/skins/icons/ppen_history.png b/resources/www/common/images/icons/ppen_history.png
similarity index 100%
rename from www/skins/icons/ppen_history.png
rename to resources/www/common/images/icons/ppen_history.png
diff --git a/www/skins/icons/prev.png b/resources/www/common/images/icons/prev.png
similarity index 100%
rename from www/skins/icons/prev.png
rename to resources/www/common/images/icons/prev.png
diff --git a/www/skins/icons/prevloader.gif b/resources/www/common/images/icons/prevloader.gif
similarity index 100%
rename from www/skins/icons/prevloader.gif
rename to resources/www/common/images/icons/prevloader.gif
diff --git a/www/skins/icons/prevloader000.gif b/resources/www/common/images/icons/prevloader000.gif
similarity index 100%
rename from www/skins/icons/prevloader000.gif
rename to resources/www/common/images/icons/prevloader000.gif
diff --git a/www/skins/icons/prevloaderFFF.gif b/resources/www/common/images/icons/prevloaderFFF.gif
similarity index 100%
rename from www/skins/icons/prevloaderFFF.gif
rename to resources/www/common/images/icons/prevloaderFFF.gif
diff --git a/www/skins/icons/print.gif b/resources/www/common/images/icons/print.gif
similarity index 100%
rename from www/skins/icons/print.gif
rename to resources/www/common/images/icons/print.gif
diff --git a/www/skins/icons/print_0.gif b/resources/www/common/images/icons/print_0.gif
similarity index 100%
rename from www/skins/icons/print_0.gif
rename to resources/www/common/images/icons/print_0.gif
diff --git a/www/skins/icons/print_1.gif b/resources/www/common/images/icons/print_1.gif
similarity index 100%
rename from www/skins/icons/print_1.gif
rename to resources/www/common/images/icons/print_1.gif
diff --git a/www/skins/icons/print_history.png b/resources/www/common/images/icons/print_history.png
similarity index 100%
rename from www/skins/icons/print_history.png
rename to resources/www/common/images/icons/print_history.png
diff --git a/www/skins/icons/proposition_off32.png b/resources/www/common/images/icons/proposition_off32.png
similarity index 100%
rename from www/skins/icons/proposition_off32.png
rename to resources/www/common/images/icons/proposition_off32.png
diff --git a/www/skins/icons/proposition_on32.png b/resources/www/common/images/icons/proposition_on32.png
similarity index 100%
rename from www/skins/icons/proposition_on32.png
rename to resources/www/common/images/icons/proposition_on32.png
diff --git a/www/skins/icons/public.png b/resources/www/common/images/icons/public.png
similarity index 100%
rename from www/skins/icons/public.png
rename to resources/www/common/images/icons/public.png
diff --git a/www/skins/icons/push16.png b/resources/www/common/images/icons/push16.png
similarity index 100%
rename from www/skins/icons/push16.png
rename to resources/www/common/images/icons/push16.png
diff --git a/www/skins/icons/push64.png b/resources/www/common/images/icons/push64.png
similarity index 100%
rename from www/skins/icons/push64.png
rename to resources/www/common/images/icons/push64.png
diff --git a/www/skins/icons/reducer.gif b/resources/www/common/images/icons/reducer.gif
similarity index 100%
rename from www/skins/icons/reducer.gif
rename to resources/www/common/images/icons/reducer.gif
diff --git a/www/skins/icons/reload.png b/resources/www/common/images/icons/reload.png
similarity index 100%
rename from www/skins/icons/reload.png
rename to resources/www/common/images/icons/reload.png
diff --git a/www/skins/icons/resizer.gif b/resources/www/common/images/icons/resizer.gif
similarity index 100%
rename from www/skins/icons/resizer.gif
rename to resources/www/common/images/icons/resizer.gif
diff --git a/www/skins/icons/ressource16.png b/resources/www/common/images/icons/ressource16.png
similarity index 100%
rename from www/skins/icons/ressource16.png
rename to resources/www/common/images/icons/ressource16.png
diff --git a/www/skins/icons/rss16.png b/resources/www/common/images/icons/rss16.png
similarity index 100%
rename from www/skins/icons/rss16.png
rename to resources/www/common/images/icons/rss16.png
diff --git a/www/skins/icons/rss32.gif b/resources/www/common/images/icons/rss32.gif
similarity index 100%
rename from www/skins/icons/rss32.gif
rename to resources/www/common/images/icons/rss32.gif
diff --git a/www/skins/icons/save.png b/resources/www/common/images/icons/save.png
similarity index 100%
rename from www/skins/icons/save.png
rename to resources/www/common/images/icons/save.png
diff --git a/www/skins/icons/search.png b/resources/www/common/images/icons/search.png
similarity index 100%
rename from www/skins/icons/search.png
rename to resources/www/common/images/icons/search.png
diff --git a/www/skins/icons/settings.png b/resources/www/common/images/icons/settings.png
similarity index 100%
rename from www/skins/icons/settings.png
rename to resources/www/common/images/icons/settings.png
diff --git a/www/skins/icons/spacer.gif b/resources/www/common/images/icons/spacer.gif
similarity index 100%
rename from www/skins/icons/spacer.gif
rename to resources/www/common/images/icons/spacer.gif
diff --git a/www/skins/icons/sprite_paginate.png b/resources/www/common/images/icons/sprite_paginate.png
similarity index 100%
rename from www/skins/icons/sprite_paginate.png
rename to resources/www/common/images/icons/sprite_paginate.png
diff --git a/www/skins/icons/sprite_paginate_hover.png b/resources/www/common/images/icons/sprite_paginate_hover.png
similarity index 100%
rename from www/skins/icons/sprite_paginate_hover.png
rename to resources/www/common/images/icons/sprite_paginate_hover.png
diff --git a/www/skins/icons/sprite_tree.png b/resources/www/common/images/icons/sprite_tree.png
similarity index 100%
rename from www/skins/icons/sprite_tree.png
rename to resources/www/common/images/icons/sprite_tree.png
diff --git a/www/skins/icons/sprite_tree_first.png b/resources/www/common/images/icons/sprite_tree_first.png
similarity index 100%
rename from www/skins/icons/sprite_tree_first.png
rename to resources/www/common/images/icons/sprite_tree_first.png
diff --git a/www/skins/icons/star.png b/resources/www/common/images/icons/star.png
similarity index 100%
rename from www/skins/icons/star.png
rename to resources/www/common/images/icons/star.png
diff --git a/www/skins/icons/stop-alt.png b/resources/www/common/images/icons/stop-alt.png
similarity index 100%
rename from www/skins/icons/stop-alt.png
rename to resources/www/common/images/icons/stop-alt.png
diff --git a/www/skins/icons/story.png b/resources/www/common/images/icons/story.png
similarity index 100%
rename from www/skins/icons/story.png
rename to resources/www/common/images/icons/story.png
diff --git a/www/skins/icons/substitution.png b/resources/www/common/images/icons/substitution.png
similarity index 100%
rename from www/skins/icons/substitution.png
rename to resources/www/common/images/icons/substitution.png
diff --git a/www/skins/icons/substitution/application_excel.png b/resources/www/common/images/icons/substitution/application_excel.png
similarity index 100%
rename from www/skins/icons/substitution/application_excel.png
rename to resources/www/common/images/icons/substitution/application_excel.png
diff --git a/www/skins/icons/substitution/application_msword.png b/resources/www/common/images/icons/substitution/application_msword.png
similarity index 100%
rename from www/skins/icons/substitution/application_msword.png
rename to resources/www/common/images/icons/substitution/application_msword.png
diff --git a/www/skins/icons/substitution/application_octet-stream.png b/resources/www/common/images/icons/substitution/application_octet-stream.png
similarity index 100%
rename from www/skins/icons/substitution/application_octet-stream.png
rename to resources/www/common/images/icons/substitution/application_octet-stream.png
diff --git a/www/skins/icons/substitution/application_pdf.png b/resources/www/common/images/icons/substitution/application_pdf.png
similarity index 100%
rename from www/skins/icons/substitution/application_pdf.png
rename to resources/www/common/images/icons/substitution/application_pdf.png
diff --git a/www/skins/icons/substitution/application_postscript.png b/resources/www/common/images/icons/substitution/application_postscript.png
similarity index 100%
rename from www/skins/icons/substitution/application_postscript.png
rename to resources/www/common/images/icons/substitution/application_postscript.png
diff --git a/www/skins/icons/substitution/application_vnd.ms-powerpoint.png b/resources/www/common/images/icons/substitution/application_vnd.ms-powerpoint.png
similarity index 100%
rename from www/skins/icons/substitution/application_vnd.ms-powerpoint.png
rename to resources/www/common/images/icons/substitution/application_vnd.ms-powerpoint.png
diff --git a/www/skins/icons/substitution/application_vnd.oasis.opendocument.chart.png b/resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.chart.png
similarity index 100%
rename from www/skins/icons/substitution/application_vnd.oasis.opendocument.chart.png
rename to resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.chart.png
diff --git a/www/skins/icons/substitution/application_vnd.oasis.opendocument.database.png b/resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.database.png
similarity index 100%
rename from www/skins/icons/substitution/application_vnd.oasis.opendocument.database.png
rename to resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.database.png
diff --git a/www/skins/icons/substitution/application_vnd.oasis.opendocument.formula.png b/resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.formula.png
similarity index 100%
rename from www/skins/icons/substitution/application_vnd.oasis.opendocument.formula.png
rename to resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.formula.png
diff --git a/www/skins/icons/substitution/application_vnd.oasis.opendocument.graphics.png b/resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.graphics.png
similarity index 100%
rename from www/skins/icons/substitution/application_vnd.oasis.opendocument.graphics.png
rename to resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.graphics.png
diff --git a/www/skins/icons/substitution/application_vnd.oasis.opendocument.image.png b/resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.image.png
similarity index 100%
rename from www/skins/icons/substitution/application_vnd.oasis.opendocument.image.png
rename to resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.image.png
diff --git a/www/skins/icons/substitution/application_vnd.oasis.opendocument.presentation-template.png b/resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.presentation-template.png
similarity index 100%
rename from www/skins/icons/substitution/application_vnd.oasis.opendocument.presentation-template.png
rename to resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.presentation-template.png
diff --git a/www/skins/icons/substitution/application_vnd.oasis.opendocument.presentation.png b/resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.presentation.png
similarity index 100%
rename from www/skins/icons/substitution/application_vnd.oasis.opendocument.presentation.png
rename to resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.presentation.png
diff --git a/www/skins/icons/substitution/application_vnd.oasis.opendocument.spreadsheet-template.png b/resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.spreadsheet-template.png
similarity index 100%
rename from www/skins/icons/substitution/application_vnd.oasis.opendocument.spreadsheet-template.png
rename to resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.spreadsheet-template.png
diff --git a/www/skins/icons/substitution/application_vnd.oasis.opendocument.spreadsheet.png b/resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.spreadsheet.png
similarity index 100%
rename from www/skins/icons/substitution/application_vnd.oasis.opendocument.spreadsheet.png
rename to resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.spreadsheet.png
diff --git a/www/skins/icons/substitution/application_vnd.oasis.opendocument.text.png b/resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.text.png
similarity index 100%
rename from www/skins/icons/substitution/application_vnd.oasis.opendocument.text.png
rename to resources/www/common/images/icons/substitution/application_vnd.oasis.opendocument.text.png
diff --git a/www/skins/icons/substitution/application_vnd.rn-realmedia.png b/resources/www/common/images/icons/substitution/application_vnd.rn-realmedia.png
similarity index 100%
rename from www/skins/icons/substitution/application_vnd.rn-realmedia.png
rename to resources/www/common/images/icons/substitution/application_vnd.rn-realmedia.png
diff --git a/www/skins/icons/substitution/application_x-bzip.png b/resources/www/common/images/icons/substitution/application_x-bzip.png
similarity index 100%
rename from www/skins/icons/substitution/application_x-bzip.png
rename to resources/www/common/images/icons/substitution/application_x-bzip.png
diff --git a/www/skins/icons/substitution/application_x-gzip.png b/resources/www/common/images/icons/substitution/application_x-gzip.png
similarity index 100%
rename from www/skins/icons/substitution/application_x-gzip.png
rename to resources/www/common/images/icons/substitution/application_x-gzip.png
diff --git a/www/skins/icons/substitution/application_x-msdownload.png b/resources/www/common/images/icons/substitution/application_x-msdownload.png
similarity index 100%
rename from www/skins/icons/substitution/application_x-msdownload.png
rename to resources/www/common/images/icons/substitution/application_x-msdownload.png
diff --git a/www/skins/icons/substitution/application_x-php.png b/resources/www/common/images/icons/substitution/application_x-php.png
similarity index 100%
rename from www/skins/icons/substitution/application_x-php.png
rename to resources/www/common/images/icons/substitution/application_x-php.png
diff --git a/www/skins/icons/substitution/application_x-shockwave-flash.jpg b/resources/www/common/images/icons/substitution/application_x-shockwave-flash.jpg
similarity index 100%
rename from www/skins/icons/substitution/application_x-shockwave-flash.jpg
rename to resources/www/common/images/icons/substitution/application_x-shockwave-flash.jpg
diff --git a/www/skins/icons/substitution/application_x-shockwave-flash.png b/resources/www/common/images/icons/substitution/application_x-shockwave-flash.png
similarity index 100%
rename from www/skins/icons/substitution/application_x-shockwave-flash.png
rename to resources/www/common/images/icons/substitution/application_x-shockwave-flash.png
diff --git a/www/skins/icons/substitution/application_x-tar.png b/resources/www/common/images/icons/substitution/application_x-tar.png
similarity index 100%
rename from www/skins/icons/substitution/application_x-tar.png
rename to resources/www/common/images/icons/substitution/application_x-tar.png
diff --git a/www/skins/icons/substitution/application_x-troff-msvideo.png b/resources/www/common/images/icons/substitution/application_x-troff-msvideo.png
similarity index 100%
rename from www/skins/icons/substitution/application_x-troff-msvideo.png
rename to resources/www/common/images/icons/substitution/application_x-troff-msvideo.png
diff --git a/www/skins/icons/substitution/application_zip.png b/resources/www/common/images/icons/substitution/application_zip.png
similarity index 100%
rename from www/skins/icons/substitution/application_zip.png
rename to resources/www/common/images/icons/substitution/application_zip.png
diff --git a/www/skins/icons/substitution/audio_aiff.png b/resources/www/common/images/icons/substitution/audio_aiff.png
similarity index 100%
rename from www/skins/icons/substitution/audio_aiff.png
rename to resources/www/common/images/icons/substitution/audio_aiff.png
diff --git a/www/skins/icons/substitution/audio_mid.png b/resources/www/common/images/icons/substitution/audio_mid.png
similarity index 100%
rename from www/skins/icons/substitution/audio_mid.png
rename to resources/www/common/images/icons/substitution/audio_mid.png
diff --git a/www/skins/icons/substitution/audio_mp3.png b/resources/www/common/images/icons/substitution/audio_mp3.png
similarity index 100%
rename from www/skins/icons/substitution/audio_mp3.png
rename to resources/www/common/images/icons/substitution/audio_mp3.png
diff --git a/www/skins/icons/substitution/audio_mp4.png b/resources/www/common/images/icons/substitution/audio_mp4.png
similarity index 100%
rename from www/skins/icons/substitution/audio_mp4.png
rename to resources/www/common/images/icons/substitution/audio_mp4.png
diff --git a/www/skins/icons/substitution/audio_mpeg.png b/resources/www/common/images/icons/substitution/audio_mpeg.png
similarity index 100%
rename from www/skins/icons/substitution/audio_mpeg.png
rename to resources/www/common/images/icons/substitution/audio_mpeg.png
diff --git a/www/skins/icons/substitution/audio_ogg.png b/resources/www/common/images/icons/substitution/audio_ogg.png
similarity index 100%
rename from www/skins/icons/substitution/audio_ogg.png
rename to resources/www/common/images/icons/substitution/audio_ogg.png
diff --git a/www/skins/icons/substitution/audio_scpls.png b/resources/www/common/images/icons/substitution/audio_scpls.png
similarity index 100%
rename from www/skins/icons/substitution/audio_scpls.png
rename to resources/www/common/images/icons/substitution/audio_scpls.png
diff --git a/www/skins/icons/substitution/audio_vnd.rn-realaudio.png b/resources/www/common/images/icons/substitution/audio_vnd.rn-realaudio.png
similarity index 100%
rename from www/skins/icons/substitution/audio_vnd.rn-realaudio.png
rename to resources/www/common/images/icons/substitution/audio_vnd.rn-realaudio.png
diff --git a/www/skins/icons/substitution/audio_wav.png b/resources/www/common/images/icons/substitution/audio_wav.png
similarity index 100%
rename from www/skins/icons/substitution/audio_wav.png
rename to resources/www/common/images/icons/substitution/audio_wav.png
diff --git a/www/skins/icons/substitution/audio_x-aiff.png b/resources/www/common/images/icons/substitution/audio_x-aiff.png
similarity index 100%
rename from www/skins/icons/substitution/audio_x-aiff.png
rename to resources/www/common/images/icons/substitution/audio_x-aiff.png
diff --git a/www/skins/icons/substitution/audio_x-mpegurl.png b/resources/www/common/images/icons/substitution/audio_x-mpegurl.png
similarity index 100%
rename from www/skins/icons/substitution/audio_x-mpegurl.png
rename to resources/www/common/images/icons/substitution/audio_x-mpegurl.png
diff --git a/www/skins/icons/substitution/audio_x-ms-wma.png b/resources/www/common/images/icons/substitution/audio_x-ms-wma.png
similarity index 100%
rename from www/skins/icons/substitution/audio_x-ms-wma.png
rename to resources/www/common/images/icons/substitution/audio_x-ms-wma.png
diff --git a/www/skins/icons/substitution/audio_x-pn-realaudio.png b/resources/www/common/images/icons/substitution/audio_x-pn-realaudio.png
similarity index 100%
rename from www/skins/icons/substitution/audio_x-pn-realaudio.png
rename to resources/www/common/images/icons/substitution/audio_x-pn-realaudio.png
diff --git a/www/skins/icons/substitution/audio_x-wav.png b/resources/www/common/images/icons/substitution/audio_x-wav.png
similarity index 100%
rename from www/skins/icons/substitution/audio_x-wav.png
rename to resources/www/common/images/icons/substitution/audio_x-wav.png
diff --git a/www/skins/icons/substitution/audio_xwav.png b/resources/www/common/images/icons/substitution/audio_xwav.png
similarity index 100%
rename from www/skins/icons/substitution/audio_xwav.png
rename to resources/www/common/images/icons/substitution/audio_xwav.png
diff --git a/www/skins/icons/substitution/icon_audio b/resources/www/common/images/icons/substitution/icon_audio
similarity index 100%
rename from www/skins/icons/substitution/icon_audio
rename to resources/www/common/images/icons/substitution/icon_audio
diff --git a/www/skins/icons/substitution/image_bmp.png b/resources/www/common/images/icons/substitution/image_bmp.png
similarity index 100%
rename from www/skins/icons/substitution/image_bmp.png
rename to resources/www/common/images/icons/substitution/image_bmp.png
diff --git a/www/skins/icons/substitution/image_gif.png b/resources/www/common/images/icons/substitution/image_gif.png
similarity index 100%
rename from www/skins/icons/substitution/image_gif.png
rename to resources/www/common/images/icons/substitution/image_gif.png
diff --git a/www/skins/icons/substitution/image_jpeg.png b/resources/www/common/images/icons/substitution/image_jpeg.png
similarity index 100%
rename from www/skins/icons/substitution/image_jpeg.png
rename to resources/www/common/images/icons/substitution/image_jpeg.png
diff --git a/www/skins/icons/substitution/image_jpg.png b/resources/www/common/images/icons/substitution/image_jpg.png
similarity index 100%
rename from www/skins/icons/substitution/image_jpg.png
rename to resources/www/common/images/icons/substitution/image_jpg.png
diff --git a/www/skins/icons/substitution/image_png.png b/resources/www/common/images/icons/substitution/image_png.png
similarity index 100%
rename from www/skins/icons/substitution/image_png.png
rename to resources/www/common/images/icons/substitution/image_png.png
diff --git a/www/skins/icons/substitution/image_psd.png b/resources/www/common/images/icons/substitution/image_psd.png
similarity index 100%
rename from www/skins/icons/substitution/image_psd.png
rename to resources/www/common/images/icons/substitution/image_psd.png
diff --git a/www/skins/icons/substitution/image_tiff.png b/resources/www/common/images/icons/substitution/image_tiff.png
similarity index 100%
rename from www/skins/icons/substitution/image_tiff.png
rename to resources/www/common/images/icons/substitution/image_tiff.png
diff --git a/www/skins/icons/substitution/image_vnd.adobe.photoshop.png b/resources/www/common/images/icons/substitution/image_vnd.adobe.photoshop.png
similarity index 100%
rename from www/skins/icons/substitution/image_vnd.adobe.photoshop.png
rename to resources/www/common/images/icons/substitution/image_vnd.adobe.photoshop.png
diff --git a/www/skins/icons/substitution/image_x-eps.png b/resources/www/common/images/icons/substitution/image_x-eps.png
similarity index 100%
rename from www/skins/icons/substitution/image_x-eps.png
rename to resources/www/common/images/icons/substitution/image_x-eps.png
diff --git a/www/skins/icons/substitution/image_x-photoshop.png b/resources/www/common/images/icons/substitution/image_x-photoshop.png
similarity index 100%
rename from www/skins/icons/substitution/image_x-photoshop.png
rename to resources/www/common/images/icons/substitution/image_x-photoshop.png
diff --git a/www/skins/icons/substitution/regroup_doc.png b/resources/www/common/images/icons/substitution/regroup_doc.png
similarity index 100%
rename from www/skins/icons/substitution/regroup_doc.png
rename to resources/www/common/images/icons/substitution/regroup_doc.png
diff --git a/www/skins/icons/substitution/regroup_thumb.png b/resources/www/common/images/icons/substitution/regroup_thumb.png
similarity index 100%
rename from www/skins/icons/substitution/regroup_thumb.png
rename to resources/www/common/images/icons/substitution/regroup_thumb.png
diff --git a/www/skins/icons/substitution/text_css.png b/resources/www/common/images/icons/substitution/text_css.png
similarity index 100%
rename from www/skins/icons/substitution/text_css.png
rename to resources/www/common/images/icons/substitution/text_css.png
diff --git a/www/skins/icons/substitution/text_html.png b/resources/www/common/images/icons/substitution/text_html.png
similarity index 100%
rename from www/skins/icons/substitution/text_html.png
rename to resources/www/common/images/icons/substitution/text_html.png
diff --git a/www/skins/icons/substitution/text_plain.png b/resources/www/common/images/icons/substitution/text_plain.png
similarity index 100%
rename from www/skins/icons/substitution/text_plain.png
rename to resources/www/common/images/icons/substitution/text_plain.png
diff --git a/www/skins/icons/substitution/text_xml.png b/resources/www/common/images/icons/substitution/text_xml.png
similarity index 100%
rename from www/skins/icons/substitution/text_xml.png
rename to resources/www/common/images/icons/substitution/text_xml.png
diff --git a/www/skins/icons/substitution/text_xsl.png b/resources/www/common/images/icons/substitution/text_xsl.png
similarity index 100%
rename from www/skins/icons/substitution/text_xsl.png
rename to resources/www/common/images/icons/substitution/text_xsl.png
diff --git a/www/skins/icons/substitution/video_avi.png b/resources/www/common/images/icons/substitution/video_avi.png
similarity index 100%
rename from www/skins/icons/substitution/video_avi.png
rename to resources/www/common/images/icons/substitution/video_avi.png
diff --git a/www/skins/icons/substitution/video_mp4.png b/resources/www/common/images/icons/substitution/video_mp4.png
similarity index 100%
rename from www/skins/icons/substitution/video_mp4.png
rename to resources/www/common/images/icons/substitution/video_mp4.png
diff --git a/www/skins/icons/substitution/video_mpeg.png b/resources/www/common/images/icons/substitution/video_mpeg.png
similarity index 100%
rename from www/skins/icons/substitution/video_mpeg.png
rename to resources/www/common/images/icons/substitution/video_mpeg.png
diff --git a/www/skins/icons/substitution/video_quicktime.png b/resources/www/common/images/icons/substitution/video_quicktime.png
similarity index 100%
rename from www/skins/icons/substitution/video_quicktime.png
rename to resources/www/common/images/icons/substitution/video_quicktime.png
diff --git a/www/skins/icons/substitution/video_vnd.rn-realvideo.png b/resources/www/common/images/icons/substitution/video_vnd.rn-realvideo.png
similarity index 100%
rename from www/skins/icons/substitution/video_vnd.rn-realvideo.png
rename to resources/www/common/images/icons/substitution/video_vnd.rn-realvideo.png
diff --git a/www/skins/icons/substitution/video_x-ms-asf.png b/resources/www/common/images/icons/substitution/video_x-ms-asf.png
similarity index 100%
rename from www/skins/icons/substitution/video_x-ms-asf.png
rename to resources/www/common/images/icons/substitution/video_x-ms-asf.png
diff --git a/www/skins/icons/substitution/video_x-ms-video.png b/resources/www/common/images/icons/substitution/video_x-ms-video.png
similarity index 100%
rename from www/skins/icons/substitution/video_x-ms-video.png
rename to resources/www/common/images/icons/substitution/video_x-ms-video.png
diff --git a/www/skins/icons/substitution/video_x-ms-wmv.png b/resources/www/common/images/icons/substitution/video_x-ms-wmv.png
similarity index 100%
rename from www/skins/icons/substitution/video_x-ms-wmv.png
rename to resources/www/common/images/icons/substitution/video_x-ms-wmv.png
diff --git a/www/skins/icons/substitution/video_x-ms-wmx.png b/resources/www/common/images/icons/substitution/video_x-ms-wmx.png
similarity index 100%
rename from www/skins/icons/substitution/video_x-ms-wmx.png
rename to resources/www/common/images/icons/substitution/video_x-ms-wmx.png
diff --git a/www/skins/icons/substitution/video_x-msvideo.png b/resources/www/common/images/icons/substitution/video_x-msvideo.png
similarity index 100%
rename from www/skins/icons/substitution/video_x-msvideo.png
rename to resources/www/common/images/icons/substitution/video_x-msvideo.png
diff --git a/www/skins/icons/suggested.gif b/resources/www/common/images/icons/suggested.gif
similarity index 100%
rename from www/skins/icons/suggested.gif
rename to resources/www/common/images/icons/suggested.gif
diff --git a/www/skins/icons/template.png b/resources/www/common/images/icons/template.png
similarity index 100%
rename from www/skins/icons/template.png
rename to resources/www/common/images/icons/template.png
diff --git a/www/skins/icons/theme_button_background.png b/resources/www/common/images/icons/theme_button_background.png
similarity index 100%
rename from www/skins/icons/theme_button_background.png
rename to resources/www/common/images/icons/theme_button_background.png
diff --git a/www/skins/icons/thesaurus_32.png b/resources/www/common/images/icons/thesaurus_32.png
similarity index 100%
rename from www/skins/icons/thesaurus_32.png
rename to resources/www/common/images/icons/thesaurus_32.png
diff --git a/www/skins/icons/ticktick.png b/resources/www/common/images/icons/ticktick.png
similarity index 100%
rename from www/skins/icons/ticktick.png
rename to resources/www/common/images/icons/ticktick.png
diff --git a/www/skins/icons/titre16.png b/resources/www/common/images/icons/titre16.png
similarity index 100%
rename from www/skins/icons/titre16.png
rename to resources/www/common/images/icons/titre16.png
diff --git a/www/skins/icons/titrwin.gif b/resources/www/common/images/icons/titrwin.gif
similarity index 100%
rename from www/skins/icons/titrwin.gif
rename to resources/www/common/images/icons/titrwin.gif
diff --git a/www/skins/icons/trash.png b/resources/www/common/images/icons/trash.png
similarity index 100%
rename from www/skins/icons/trash.png
rename to resources/www/common/images/icons/trash.png
diff --git a/www/skins/icons/trash_0.gif b/resources/www/common/images/icons/trash_0.gif
similarity index 100%
rename from www/skins/icons/trash_0.gif
rename to resources/www/common/images/icons/trash_0.gif
diff --git a/www/skins/icons/trash_1.gif b/resources/www/common/images/icons/trash_1.gif
similarity index 100%
rename from www/skins/icons/trash_1.gif
rename to resources/www/common/images/icons/trash_1.gif
diff --git a/www/skins/icons/tri_minus.gif b/resources/www/common/images/icons/tri_minus.gif
similarity index 100%
rename from www/skins/icons/tri_minus.gif
rename to resources/www/common/images/icons/tri_minus.gif
diff --git a/www/skins/icons/tri_plus.gif b/resources/www/common/images/icons/tri_plus.gif
similarity index 100%
rename from www/skins/icons/tri_plus.gif
rename to resources/www/common/images/icons/tri_plus.gif
diff --git a/www/skins/icons/tri_static.gif b/resources/www/common/images/icons/tri_static.gif
similarity index 100%
rename from www/skins/icons/tri_static.gif
rename to resources/www/common/images/icons/tri_static.gif
diff --git a/www/skins/icons/tsort_desc.gif b/resources/www/common/images/icons/tsort_desc.gif
similarity index 100%
rename from www/skins/icons/tsort_desc.gif
rename to resources/www/common/images/icons/tsort_desc.gif
diff --git a/www/skins/icons/twitter.ico b/resources/www/common/images/icons/twitter.ico
similarity index 100%
rename from www/skins/icons/twitter.ico
rename to resources/www/common/images/icons/twitter.ico
diff --git a/www/skins/icons/ui-anim_basic_16x16.gif b/resources/www/common/images/icons/ui-anim_basic_16x16.gif
similarity index 100%
rename from www/skins/icons/ui-anim_basic_16x16.gif
rename to resources/www/common/images/icons/ui-anim_basic_16x16.gif
diff --git a/www/skins/prod/000000/images/ui-bg_gloss-wave_20_111111_500x100.png b/resources/www/common/images/icons/ui-bg_gloss-wave_20_111111_500x100.png
similarity index 100%
rename from www/skins/prod/000000/images/ui-bg_gloss-wave_20_111111_500x100.png
rename to resources/www/common/images/icons/ui-bg_gloss-wave_20_111111_500x100.png
diff --git a/www/skins/icons/up.png b/resources/www/common/images/icons/up.png
similarity index 100%
rename from www/skins/icons/up.png
rename to resources/www/common/images/icons/up.png
diff --git a/www/skins/icons/user.png b/resources/www/common/images/icons/user.png
similarity index 100%
rename from www/skins/icons/user.png
rename to resources/www/common/images/icons/user.png
diff --git a/www/skins/icons/user_details_gray.png b/resources/www/common/images/icons/user_details_gray.png
similarity index 100%
rename from www/skins/icons/user_details_gray.png
rename to resources/www/common/images/icons/user_details_gray.png
diff --git a/www/skins/icons/user_details_off.png b/resources/www/common/images/icons/user_details_off.png
similarity index 100%
rename from www/skins/icons/user_details_off.png
rename to resources/www/common/images/icons/user_details_off.png
diff --git a/www/skins/icons/user_details_on.png b/resources/www/common/images/icons/user_details_on.png
similarity index 100%
rename from www/skins/icons/user_details_on.png
rename to resources/www/common/images/icons/user_details_on.png
diff --git a/www/skins/icons/valid.png b/resources/www/common/images/icons/valid.png
similarity index 100%
rename from www/skins/icons/valid.png
rename to resources/www/common/images/icons/valid.png
diff --git a/www/skins/icons/vsplitter.png b/resources/www/common/images/icons/vsplitter.png
similarity index 100%
rename from www/skins/icons/vsplitter.png
rename to resources/www/common/images/icons/vsplitter.png
diff --git a/www/skins/icons/vsplitter2-959595.png b/resources/www/common/images/icons/vsplitter2-959595.png
similarity index 100%
rename from www/skins/icons/vsplitter2-959595.png
rename to resources/www/common/images/icons/vsplitter2-959595.png
diff --git a/www/skins/icons/vsplitter2.png b/resources/www/common/images/icons/vsplitter2.png
similarity index 100%
rename from www/skins/icons/vsplitter2.png
rename to resources/www/common/images/icons/vsplitter2.png
diff --git a/www/skins/icons/vsplitter959595.png b/resources/www/common/images/icons/vsplitter959595.png
similarity index 100%
rename from www/skins/icons/vsplitter959595.png
rename to resources/www/common/images/icons/vsplitter959595.png
diff --git a/www/skins/icons/workzone32.png b/resources/www/common/images/icons/workzone32.png
similarity index 100%
rename from www/skins/icons/workzone32.png
rename to resources/www/common/images/icons/workzone32.png
diff --git a/www/skins/icons/youtube-small.gif b/resources/www/common/images/icons/youtube-small.gif
similarity index 100%
rename from www/skins/icons/youtube-small.gif
rename to resources/www/common/images/icons/youtube-small.gif
diff --git a/www/skins/icons/youtube-white.gif b/resources/www/common/images/icons/youtube-white.gif
similarity index 100%
rename from www/skins/icons/youtube-white.gif
rename to resources/www/common/images/icons/youtube-white.gif
diff --git a/www/skins/icons/zoom.gif b/resources/www/common/images/icons/zoom.gif
similarity index 100%
rename from www/skins/icons/zoom.gif
rename to resources/www/common/images/icons/zoom.gif
diff --git a/www/skins/lng/ar_flag_18.gif b/resources/www/common/images/lng/ar_flag_18.gif
similarity index 100%
rename from www/skins/lng/ar_flag_18.gif
rename to resources/www/common/images/lng/ar_flag_18.gif
diff --git a/www/skins/lng/de_flag_18.gif b/resources/www/common/images/lng/de_flag_18.gif
similarity index 100%
rename from www/skins/lng/de_flag_18.gif
rename to resources/www/common/images/lng/de_flag_18.gif
diff --git a/www/skins/lng/en_flag_18.gif b/resources/www/common/images/lng/en_flag_18.gif
similarity index 100%
rename from www/skins/lng/en_flag_18.gif
rename to resources/www/common/images/lng/en_flag_18.gif
diff --git a/www/skins/lng/es_flag_18.gif b/resources/www/common/images/lng/es_flag_18.gif
similarity index 100%
rename from www/skins/lng/es_flag_18.gif
rename to resources/www/common/images/lng/es_flag_18.gif
diff --git a/www/skins/lng/fr_flag_18.gif b/resources/www/common/images/lng/fr_flag_18.gif
similarity index 100%
rename from www/skins/lng/fr_flag_18.gif
rename to resources/www/common/images/lng/fr_flag_18.gif
diff --git a/www/skins/lng/inclin-ar.png b/resources/www/common/images/lng/inclin-ar.png
similarity index 100%
rename from www/skins/lng/inclin-ar.png
rename to resources/www/common/images/lng/inclin-ar.png
diff --git a/www/skins/lng/inclin-de.png b/resources/www/common/images/lng/inclin-de.png
similarity index 100%
rename from www/skins/lng/inclin-de.png
rename to resources/www/common/images/lng/inclin-de.png
diff --git a/www/skins/lng/inclin-en.png b/resources/www/common/images/lng/inclin-en.png
similarity index 100%
rename from www/skins/lng/inclin-en.png
rename to resources/www/common/images/lng/inclin-en.png
diff --git a/www/skins/lng/inclin-es.png b/resources/www/common/images/lng/inclin-es.png
similarity index 100%
rename from www/skins/lng/inclin-es.png
rename to resources/www/common/images/lng/inclin-es.png
diff --git a/www/skins/lng/inclin-fr.png b/resources/www/common/images/lng/inclin-fr.png
similarity index 100%
rename from www/skins/lng/inclin-fr.png
rename to resources/www/common/images/lng/inclin-fr.png
diff --git a/www/skins/lng/inclin-nl.png b/resources/www/common/images/lng/inclin-nl.png
similarity index 100%
rename from www/skins/lng/inclin-nl.png
rename to resources/www/common/images/lng/inclin-nl.png
diff --git a/www/skins/lng/nl_flag_18.gif b/resources/www/common/images/lng/nl_flag_18.gif
similarity index 100%
rename from www/skins/lng/nl_flag_18.gif
rename to resources/www/common/images/lng/nl_flag_18.gif
diff --git a/www/skins/logos/logo.png b/resources/www/common/images/logo.png
similarity index 100%
rename from www/skins/logos/logo.png
rename to resources/www/common/images/logo.png
diff --git a/www/skins/prod/jquery.Dialog.js b/resources/www/common/js/jquery.Dialog.js
similarity index 100%
rename from www/skins/prod/jquery.Dialog.js
rename to resources/www/common/js/jquery.Dialog.js
diff --git a/www/include/jquery.common.js b/resources/www/common/js/jquery.common.js
similarity index 97%
rename from www/include/jquery.common.js
rename to resources/www/common/js/jquery.common.js
index ea40b972d5..a1b2f9c2f4 100644
--- a/www/include/jquery.common.js
+++ b/resources/www/common/js/jquery.common.js
@@ -21,7 +21,7 @@ $(document).ready(function () {
$.datepicker.setDefaults({showMonthAfterYear: false});
$.datepicker.setDefaults($.datepicker.regional[jq_date]);
- $('a.infoDialog,div.infoDialog').live('click', function (event) {
+ $('a.infoDialog,div.infoDialog').on('click', function (event) {
infoDialog($(this));
});
@@ -65,10 +65,10 @@ $(document).ready(function () {
event.stopPropagation();
});
- $('#notification_box div.notification').live('mouseover', function () {
+ $('#notification_box div.notification').on('mouseover', function () {
$(this).addClass('hover');
});
- $('#notification_box div.notification').live('mouseout', function () {
+ $('#notification_box div.notification').on('mouseout', function () {
$(this).removeClass('hover');
});
@@ -481,7 +481,7 @@ function showOverlay(n, appendto, callback, zIndex) {
$('#' + div).css(css).addClass('overlay').fadeTo(500, 0.7).bind('click', function () {
(callback)();
});
- if ($.browser.msie && $.browser.version == '6.0') {
+ if (( navigator.userAgent.match(/msie/i) && navigator.userAgent.match(/6/) )) {
$('select').css({
visibility: 'hidden'
});
@@ -496,7 +496,7 @@ function hideDwnl() {
}
function hideOverlay(n) {
- if ($.browser.msie && $.browser.version == '6.0') {
+ if (( navigator.userAgent.match(/msie/i) && navigator.userAgent.match(/6/) )) {
$('select').css({
visibility: 'visible'
});
diff --git a/www/include/jquery.tooltip.js b/resources/www/common/js/jquery.tooltip.js
similarity index 97%
rename from www/include/jquery.tooltip.js
rename to resources/www/common/js/jquery.tooltip.js
index c22d43fe8b..beac0baccf 100644
--- a/www/include/jquery.tooltip.js
+++ b/resources/www/common/js/jquery.tooltip.js
@@ -22,7 +22,7 @@
// timeout id for delayed tooltips
tID,
// IE 5.5 or 6
- IE = $.browser.msie && (/MSIE\s(5\.5|6\.)/).test(navigator.userAgent),
+ IE = ( navigator.userAgent.match(/msie/i) ) && (/MSIE\s(5\.5|6\.)/).test(navigator.userAgent),
// flag for mouse tracking
track = false;
@@ -300,7 +300,7 @@
topOffset = 20,
leftOffset = 20;
- if( $eventTarget ) {
+ if( $eventTarget.length > 0 ) {
// change offsets:
topOffset = -8;
leftOffset = -8;
@@ -318,6 +318,7 @@
var ratioImage = $(h).width() / $(h).height();
//position de l'image
+
if ($eventTarget.offset().left > (v.x - $eventTarget.offset().left - $eventTarget.width())) {
hor = 'gauche';
wiH = $eventTarget.offset().left;
@@ -492,6 +493,10 @@
// delete timeout and show helper
function show() {
tID = null;
+ var isBrowsable = false;
+ if( $.tooltip.current !== null ) {
+ isBrowsable = settings($.tooltip.current).isBrowsable;
+ }
if ((!IE || !$.fn.bgiframe) && settings($.tooltip.current).fade) {
if (helper.parent.is(":animated"))
@@ -506,12 +511,12 @@
.unbind('mouseenter')
.unbind('mouseleave')
.mouseenter(function(){
- if (settings($.tooltip.current).isBrowsable) {
+ if (isBrowsable) {
$.tooltip.currentHover = true;
}
})
.mouseleave(function () {
- if (settings($.tooltip.current).isBrowsable) {
+ if (isBrowsable) {
// if tooltip has scrollable content or selectionnable text - should be closed on mouseleave:
$.tooltip.currentHover = false;
helper.parent.hide();
@@ -623,8 +628,11 @@
// hide helper and restore added classes and the title
function hide(event) {
-
- if( $.tooltip.currentHover && settings($.tooltip.current).isBrowsable ) {
+ var isBrowsable = false;
+ if( $.tooltip.current !== null ) {
+ isBrowsable = settings($.tooltip.current).isBrowsable;
+ }
+ if( $.tooltip.currentHover && isBrowsable ) {
return;
}
diff --git a/resources/www/common/styles/main.scss b/resources/www/common/styles/main.scss
new file mode 100644
index 0000000000..63a1762667
--- /dev/null
+++ b/resources/www/common/styles/main.scss
@@ -0,0 +1,26 @@
+/**
+ * Common stylesheet, builded into assets/common/styles/common.css
+ */
+@import '../../_shared/styles/variables';
+@import '../../vendors/bootstrap/bootstrap';
+@import '../../vendors/bootstrap/responsive';
+@import '../../_shared/styles/override-bootstrap';
+@import '../../../../www/bower_components/font-awesome/scss/font-awesome.scss';
+@import '../../_shared/styles/main';
+
+$mainMenuBackgroundColor: #212121; //BFBFBF;
+$mainMenuBottomBorder: none;
+$mainMenuLinkColor: #b1b1b1;
+$mainMenuLinkHoverColor: #FFFFFF;
+$mainMenuLinkActiveColor: #b1b1b1;
+$mainMenuLinkBackgroundHoverColor: transparent;
+// $mainMenuMarginBottom: 30px;
+@import '../../_shared/styles/main-menu';
+
+
+#mainContent {
+ margin-top: $mainMenuHeight;
+}
+
+
+
diff --git a/www/skins/lightbox/agree-big.png b/resources/www/lightbox/images/agree-big.png
similarity index 100%
rename from www/skins/lightbox/agree-big.png
rename to resources/www/lightbox/images/agree-big.png
diff --git a/www/skins/lightbox/agree-bigie6.gif b/resources/www/lightbox/images/agree-bigie6.gif
similarity index 100%
rename from www/skins/lightbox/agree-bigie6.gif
rename to resources/www/lightbox/images/agree-bigie6.gif
diff --git a/www/skins/lightbox/agree.png b/resources/www/lightbox/images/agree.png
similarity index 100%
rename from www/skins/lightbox/agree.png
rename to resources/www/lightbox/images/agree.png
diff --git a/www/skins/lightbox/agreeie6.gif b/resources/www/lightbox/images/agreeie6.gif
similarity index 100%
rename from www/skins/lightbox/agreeie6.gif
rename to resources/www/lightbox/images/agreeie6.gif
diff --git a/www/skins/lightbox/collapsed.png b/resources/www/lightbox/images/collapsed.png
similarity index 100%
rename from www/skins/lightbox/collapsed.png
rename to resources/www/lightbox/images/collapsed.png
diff --git a/www/skins/lightbox/collapsedie6.gif b/resources/www/lightbox/images/collapsedie6.gif
similarity index 100%
rename from www/skins/lightbox/collapsedie6.gif
rename to resources/www/lightbox/images/collapsedie6.gif
diff --git a/www/skins/lightbox/disagree-big.png b/resources/www/lightbox/images/disagree-big.png
similarity index 100%
rename from www/skins/lightbox/disagree-big.png
rename to resources/www/lightbox/images/disagree-big.png
diff --git a/www/skins/lightbox/disagree-bigie6.gif b/resources/www/lightbox/images/disagree-bigie6.gif
similarity index 100%
rename from www/skins/lightbox/disagree-bigie6.gif
rename to resources/www/lightbox/images/disagree-bigie6.gif
diff --git a/www/skins/lightbox/disagree.png b/resources/www/lightbox/images/disagree.png
similarity index 100%
rename from www/skins/lightbox/disagree.png
rename to resources/www/lightbox/images/disagree.png
diff --git a/www/skins/lightbox/disagreeie6.gif b/resources/www/lightbox/images/disagreeie6.gif
similarity index 100%
rename from www/skins/lightbox/disagreeie6.gif
rename to resources/www/lightbox/images/disagreeie6.gif
diff --git a/www/skins/lightbox/edit.png b/resources/www/lightbox/images/edit.png
similarity index 100%
rename from www/skins/lightbox/edit.png
rename to resources/www/lightbox/images/edit.png
diff --git a/www/skins/lightbox/envoyer.png b/resources/www/lightbox/images/envoyer.png
similarity index 100%
rename from www/skins/lightbox/envoyer.png
rename to resources/www/lightbox/images/envoyer.png
diff --git a/www/skins/lightbox/envoyerie6.gif b/resources/www/lightbox/images/envoyerie6.gif
similarity index 100%
rename from www/skins/lightbox/envoyerie6.gif
rename to resources/www/lightbox/images/envoyerie6.gif
diff --git a/www/skins/lightbox/expanded.png b/resources/www/lightbox/images/expanded.png
similarity index 100%
rename from www/skins/lightbox/expanded.png
rename to resources/www/lightbox/images/expanded.png
diff --git a/www/skins/lightbox/favicon.ico b/resources/www/lightbox/images/favicon.ico
similarity index 100%
rename from www/skins/lightbox/favicon.ico
rename to resources/www/lightbox/images/favicon.ico
diff --git a/www/skins/lightbox/left_arrow.png b/resources/www/lightbox/images/left_arrow.png
similarity index 100%
rename from www/skins/lightbox/left_arrow.png
rename to resources/www/lightbox/images/left_arrow.png
diff --git a/www/skins/lightbox/next_pauseie6.png b/resources/www/lightbox/images/next_pauseie6.png
similarity index 100%
rename from www/skins/lightbox/next_pauseie6.png
rename to resources/www/lightbox/images/next_pauseie6.png
diff --git a/www/skins/lightbox/nextie6.png b/resources/www/lightbox/images/nextie6.png
similarity index 100%
rename from www/skins/lightbox/nextie6.png
rename to resources/www/lightbox/images/nextie6.png
diff --git a/www/skins/lightbox/noteie6.png b/resources/www/lightbox/images/noteie6.png
similarity index 100%
rename from www/skins/lightbox/noteie6.png
rename to resources/www/lightbox/images/noteie6.png
diff --git a/www/skins/lightbox/pauseie6.png b/resources/www/lightbox/images/pauseie6.png
similarity index 100%
rename from www/skins/lightbox/pauseie6.png
rename to resources/www/lightbox/images/pauseie6.png
diff --git a/www/skins/lightbox/playie6.png b/resources/www/lightbox/images/playie6.png
similarity index 100%
rename from www/skins/lightbox/playie6.png
rename to resources/www/lightbox/images/playie6.png
diff --git a/www/skins/lightbox/prev_pauseie6.png b/resources/www/lightbox/images/prev_pauseie6.png
similarity index 100%
rename from www/skins/lightbox/prev_pauseie6.png
rename to resources/www/lightbox/images/prev_pauseie6.png
diff --git a/www/skins/lightbox/previe6.png b/resources/www/lightbox/images/previe6.png
similarity index 100%
rename from www/skins/lightbox/previe6.png
rename to resources/www/lightbox/images/previe6.png
diff --git a/www/skins/lightbox/retour.png b/resources/www/lightbox/images/retour.png
similarity index 100%
rename from www/skins/lightbox/retour.png
rename to resources/www/lightbox/images/retour.png
diff --git a/www/skins/lightbox/right_arrow.png b/resources/www/lightbox/images/right_arrow.png
similarity index 100%
rename from www/skins/lightbox/right_arrow.png
rename to resources/www/lightbox/images/right_arrow.png
diff --git a/www/skins/lightbox/save.png b/resources/www/lightbox/images/save.png
similarity index 100%
rename from www/skins/lightbox/save.png
rename to resources/www/lightbox/images/save.png
diff --git a/www/skins/lightbox/saveie6.png b/resources/www/lightbox/images/saveie6.png
similarity index 100%
rename from www/skins/lightbox/saveie6.png
rename to resources/www/lightbox/images/saveie6.png
diff --git a/www/skins/lightbox/toexpand.png b/resources/www/lightbox/images/toexpand.png
similarity index 100%
rename from www/skins/lightbox/toexpand.png
rename to resources/www/lightbox/images/toexpand.png
diff --git a/www/skins/lightbox/jquery.lightbox.ie6.js b/resources/www/lightbox/js/jquery.lightbox.ie6.js
similarity index 99%
rename from www/skins/lightbox/jquery.lightbox.ie6.js
rename to resources/www/lightbox/js/jquery.lightbox.ie6.js
index 3b2fd2ea00..8f6c93e9ef 100644
--- a/www/skins/lightbox/jquery.lightbox.ie6.js
+++ b/resources/www/lightbox/js/jquery.lightbox.ie6.js
@@ -828,19 +828,18 @@ function set_image_position(smooth, image, width, height, container, callback) {
callback = function () {
};
}
-}
-dimensions.width = parseInt(width);
-dimensions.height = parseInt(height);
-// if(smooth)
-// {
-// $(image).stop().animate(dimensions,500,callback);
-// }
-// else
-// {
-$(image).css(dimensions);
-callback;
-// }
+ dimensions.width = parseInt(width);
+ dimensions.height = parseInt(height);
+ // if(smooth)
+ // {
+ // $(image).stop().animate(dimensions,500,callback);
+ // }
+ // else
+ // {
+ $(image).css(dimensions);
+ callback;
+ // }
}
diff --git a/www/skins/lightbox/jquery.lightbox.js b/resources/www/lightbox/js/jquery.lightbox.js
similarity index 99%
rename from www/skins/lightbox/jquery.lightbox.js
rename to resources/www/lightbox/js/jquery.lightbox.js
index 25db63a63d..cf2de62217 100644
--- a/www/skins/lightbox/jquery.lightbox.js
+++ b/resources/www/lightbox/js/jquery.lightbox.js
@@ -246,7 +246,7 @@ function display_basket() {
var sc_wrapper = $('#sc_wrapper');
var basket_options = $('#basket_options');
- $('.report').live('click',function () {
+ $('.report').on('click',function () {
load_report();
return false;
}).addClass('clickable');
diff --git a/www/skins/lightbox/jquery.validator.mobile.js b/resources/www/lightbox/js/jquery.validator.mobile.js
similarity index 95%
rename from www/skins/lightbox/jquery.validator.mobile.js
rename to resources/www/lightbox/js/jquery.validator.mobile.js
index 0152fe7094..e9a5feaa6b 100644
--- a/www/skins/lightbox/jquery.validator.mobile.js
+++ b/resources/www/lightbox/js/jquery.validator.mobile.js
@@ -3,7 +3,7 @@ $(document).ready(function () {
return;
- $('.confirm_report').live('click', function () {
+ $('.confirm_report').on('click', function () {
var $this = $(this);
$('.loader', $this).css({
@@ -40,7 +40,7 @@ $(document).ready(function () {
});
});
- $('.agreement_radio').live('vmousedown', function () {
+ $('.agreement_radio').on('vmousedown', function () {
var sselcont_id = $(this).attr('for').split('_').pop();
var agreement = $('#' + $(this).attr('for')).val() == 'yes' ? '1' : '-1';
@@ -84,7 +84,7 @@ $(document).ready(function () {
return false;
});
- $('.note_area_validate').live('click', function () {
+ $('.note_area_validate').on('click', function () {
var sselcont_id = $(this).closest('form').find('input[name="sselcont_id"]').val();
$.mobile.loading();
diff --git a/www/skins/lightbox/jquery.validator.mobile.css b/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss
similarity index 75%
rename from www/skins/lightbox/jquery.validator.mobile.css
rename to resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss
index 77b4e4a9f1..67e49407ee 100644
--- a/www/skins/lightbox/jquery.validator.mobile.css
+++ b/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss
@@ -1,3 +1,4 @@
+$iconsPath: '../../../assets/common/images/icons/';
ul.image_set{
padding:0;
margin:0;
@@ -44,28 +45,28 @@ a.active_choice{
}
.valid_choice.agree{
- background-image: url(/skins/icons/ok.png);
+ background-image: url('#{$iconsPath}ok.png');
}
.valid_choice.disagree{
- background-image: url(/skins/icons/delete.png);
+ background-image: url('#{$iconsPath}delete.png');
}
.thumb_wrapper {
- text-align:center;
+ text-align:center;
}
@media screen and (orientation: landscape) {
- .thumb_wrapper img {
- width: 50%;
- }
+ .thumb_wrapper img {
+ width: 50%;
+ }
}
@media screen and (orientation: portrait) {
- .thumb_wrapper img {
- width: 100%;
- }
+ .thumb_wrapper img {
+ width: 100%;
+ }
}
diff --git a/resources/www/lightbox/styles/main-ie6.scss b/resources/www/lightbox/styles/main-ie6.scss
new file mode 100644
index 0000000000..712e4cd28c
--- /dev/null
+++ b/resources/www/lightbox/styles/main-ie6.scss
@@ -0,0 +1,552 @@
+@import '../../_shared/styles/variables';
+$lightboxPath: '../images/';
+@import '../../vendors/jquery-contextmenu/styles/jquery.contextmenu';
+
+body {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ background-color: #BFBFBF;
+ color: #212121;
+ /*font-size:11px;*/
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+#mainMenu .title, #mainMenu a, #mainMenu b, #mainMenu span {
+ color: #212121;
+}
+
+a, a:hover, a:visited {
+ color: #BFBFBF;
+}
+
+ul {
+ list-style-type: none;
+}
+
+#mainContent {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ position: relative;
+}
+
+.left, .PNBleft {
+ width: 100%;
+ position: relative;
+ float: left;
+}
+
+.PNBleft {
+ height: 100%;
+}
+
+.record_display_box .lightbox_container {
+ overflow: hidden;
+}
+
+.record_display_box .header {
+ height: 30px;
+}
+
+.record_display_box .notes_wrapper {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ top: -100%;
+ left: 0;
+}
+
+.record_display_box .record {
+ max-width: none;
+ max-height: none;
+}
+
+.record_display_box .notes_overlay {
+ background-color: black;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ opacity: 0.70;
+ filter: alpha(opacity=70);
+ z-index: 100;
+}
+
+.record_display_box .note_wrapper {
+ background-color: white;
+ position: relative;
+ width: 300px;
+ margin: 0 auto;
+ margin: 20px 0;
+ padding: 5px;
+}
+
+.record_display_box .note_author,
+.record_display_box .note_content {
+ margin: 5px;
+ position: relative;
+}
+
+.record_display_box .note_wrapper.my_note {
+ background-color: #C9FFF7;
+}
+
+.record_display_box .notes {
+ position: relative;
+ margin: 0 auto;
+ width: 80%;
+ height: 80%;
+ max-width: 450px;
+ z-index: 110;
+ overflow-y: auto;
+ overflow-x: hidden;
+}
+
+.agreement_selector {
+ position: relative;
+ width: 100%;
+ bottom: 10px;
+ text-align: right;
+ z-index: 200;
+}
+
+.clickable {
+ cursor: pointer;
+}
+
+#agree_choices .wrapper,
+#disagree_choices .wrapper {
+ margin: 0 auto;
+ width: 180px;
+}
+
+#user_infos .big_box {
+ width: 110px;
+ margin: 0 auto;
+ padding: 10px;
+ height: 32px;
+ text-align: center;
+ opacity: 1;
+ filter: alpha(opacity=100);
+}
+
+#user_infos .big_box.agree {
+ border: 2px solid green;
+}
+
+#user_infos .big_box.disagree {
+ border: 2px solid red;
+}
+
+#user_infos .big_box.not_decided {
+ border: 2px solid white;
+}
+
+.big_box span {
+ font-weight: bold;
+ font-size: 14px;
+ margin: 0 10px;
+}
+
+li.userchoice {
+ margin: 5px 0 0px 20px;
+}
+
+.userchoice.disagree {
+ color: #DE1200;
+}
+
+.userchoice.agree {
+ color: #35AC00;
+}
+
+#sc_container {
+ position: relative;
+ height: 100%;
+}
+
+.basket_element_wrapper {
+ position: relative;
+ float: left;
+ padding: 0 5px;
+}
+
+.basket_element {
+ position: relative;
+ float: left;
+ width: 114px;
+ height: 130px;
+ border: 1px solid #212121;
+ text-align: left;
+ padding: 5px 8px;
+}
+
+.basket_element.selected {
+ background-color: #212121;
+}
+
+.basket_element .display_id {
+ top: 4px;
+ left: 8px;
+}
+
+#report .display_id {
+ top: -5px;
+ left: -5px;
+}
+
+#report .CHIM.diapo {
+ position: relative;
+ text-align: center;
+}
+
+.display_id {
+ background-color: #FFFFFF;
+ padding: 3px 6px;
+ font-weight: bold;
+ z-index: 99;
+ color: #212121;
+ -moz-border-radius: 50%;
+ -webkit-border-radius: 50%;
+ border-radius: 50%;
+ position: absolute;
+}
+
+.basket_element .agreement {
+ position: absolute;
+ top: 4px;
+ right: 8px;
+ z-index: 99;
+}
+
+.not_decided {
+ opacity: 0.30;
+ filter: alpha(opacity=30);
+}
+
+#sc_wrapper .not_decided {
+ display: none;
+}
+
+.basket_element .image {
+ position: relative;
+ z-index: 90;
+}
+
+.basket_element .previewTips {
+ background-image: url('#{$iconsPath}zoom.gif');
+ background-position: center center;
+ background-repeat: no-repeat;
+ cursor: help;
+ position: absolute;
+ bottom: 4px;
+ right: 8px;
+ height: 18px;
+ width: 18px;
+ z-index: 99;
+}
+
+.record_display_box .title {
+ margin: 0 10px;
+}
+
+#right_column {
+ color: #BFBFBF;
+}
+
+.right_column_wrapper_caption {
+ width: 215px;
+ margin: 10px 0 0 10px;
+}
+
+.right_column_title {
+ color: #BFBFBF;
+ font-weight: bold;
+ font-size: 15px;
+ text-align: center;
+ line-height: 25px;
+}
+
+.validate.highlight,
+.caption.highlight {
+ color: white;
+ text-decoration: underline;
+}
+
+#basket_infos {
+ height: 110px;
+ bottom: auto;
+}
+
+.record_display_box .display_id {
+ top: 5px;
+ margin: 0px;
+}
+
+#basket_infos {
+ overflow: hidden;
+ background-color: #1F1E1B;
+ color: #BFBFBF;
+}
+
+#basket_options {
+ height: 35px;
+ top: auto;
+ background-color: #1F1E1B;
+ text-align: center;
+}
+
+#basket_options .confirm_report {
+ margin: 5px auto;
+}
+
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text {
+ padding: 0.2em 1em 0.2em 2.1em;
+}
+
+/*******
+ *
+ * Index
+ *
+ * ******/
+
+#main_index {
+ position: relative;
+ width: 600px;
+ margin: 0 auto;
+}
+
+#main_wrapper {
+ width: 100%;
+}
+
+#main_wrapper h1 {
+ font-weight: bold;
+ font-size: 25px;
+}
+
+table th {
+ text-align: right;
+ vertical-align: bottom;
+ height: 60px;
+ border-bottom: 1px solid #8F8F8F;
+}
+
+table th.title {
+ text-align: left;
+}
+
+table th h1 {
+ margin-left: 20px;
+}
+
+table th i {
+ margin-right: 20px;
+}
+
+.ui-button.download_button {
+ margin: 0 5px 0 50px;
+}
+
+.ui-button.comment_button {
+ margin-left: 5px;
+}
+
+.basket_wrapper.hover {
+ background-color: #1F1E1B;
+ color: #BFBFBF;
+}
+
+.basket_wrapper {
+ margin: 10px;
+ height: 195px;
+}
+
+.basket_wrapper table {
+ top: 10px;
+ left: 10px;
+ width: 560px;
+ height: 175px;
+ position: relative;
+}
+
+.basket_description table {
+ margin: 0;
+ width: 100%;
+ text-align: left;
+}
+
+.basket_description table td.right {
+ text-align: right;
+ width: 120px;
+ font-style: italic;
+ vertical-align: top;
+}
+
+.basket_description {
+}
+
+.thumb_wrapper {
+ text-align: center;
+ position: relative;
+}
+
+.thumb_wrapper .thumb {
+ position: relative;
+}
+
+#sc_wrapper {
+ height: 166px;
+}
+
+#sc_wrapper .thumb_wrapper {
+ position: absolute;
+ top: 28px;
+}
+
+.record_display_box .notes_overlay {
+ background-color: #BFBFBF;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ opacity: 0.70;
+ filter: alpha(opacity=70);
+ z-index: 100;
+}
+
+.record_display_box h2 {
+ color: #BFBFBF;
+ font-size: 15px;
+ font-weight: bold;
+}
+
+.record_display_box .notes_wrapper {
+ position: absolute;
+ top: -100%;
+ height: 100%;
+ width: 100%;
+}
+
+.record_display_box .note_wrapper {
+ background-color: white;
+ position: relative;
+ max-width: 75%;
+ margin: 20px 0;
+ padding: 10px;
+ color: #212121;
+}
+
+.record_display_box .note_author {
+ font-size: 15px;
+ font-weight: bold;
+}
+
+.basket_thumbnail .image {
+ position: relative;
+}
+
+.basket_thumbnail {
+ width: 110px;
+ height: 110px;
+ float: left;
+ position: relative;
+}
+
+.record_display_box .note_wrapper.my_note {
+ background-color: #C9FFF7;
+}
+
+.record_display_box .notes {
+ position: relative;
+ margin: 0 auto;
+ width: 80%;
+ height: 90%;
+ max-width: 450px;
+ z-index: 110;
+ overflow-y: auto;
+ overflow-x: hidden;
+}
+
+.ui-state-default.note_closer, .ui-state-default.note_saver {
+ background-color: #353430;
+ padding: 5px;
+ margin: 0 10px;
+}
+
+.ui-state-default.note_saver {
+ background-color: #1F1E1B;
+}
+
+.record_display_box form .buttons {
+ margin: 5px;
+ text-align: right;
+}
+
+.record_display_box form {
+ margin: 15px 0;
+ width: 90%;
+}
+
+.record_display_box form textarea {
+ width: 100%;
+ height: 75px;
+}
+
+#navigation {
+ width: 200px;
+}
+
+.basket_downloader {
+ background-color: #1F1E1B;
+ margin: 0 10px;
+ padding: 2px;
+ border: 0;
+}
+
+hr {
+ width: 100%;
+ height: 1px;
+ background-color: #212121;
+}
+
+.report {
+ margin: 0 10px;
+ vertical-align: bottom;
+}
+
+/*
+ *
+ * Overrides JqueryUI
+ *
+ */
+
+.ui-button {
+ background: transparent;
+ border: none;
+ margin: 0;
+ padding: 0;
+}
+
+.ui-button-text-only .ui-button-text {
+ padding: 0.15em;
+}
+
+.ui-state-default,
+.ui-widget-content .ui-state-default,
+.ui-widget-header .ui-state-default {
+ color: #BFBFBF;
+ background-image: none;
+ border: none;
+ background-color: transparent;
+}
+
+.ui-widget-header {
+ background-color: #1F1E1B;
+ background-image: none;
+ border: none;
+}
+
+.left.choices {
+ margin: 0;
+ padding: 0;
+}
diff --git a/resources/www/lightbox/styles/main-mobile.scss b/resources/www/lightbox/styles/main-mobile.scss
new file mode 100644
index 0000000000..dafac5c02d
--- /dev/null
+++ b/resources/www/lightbox/styles/main-mobile.scss
@@ -0,0 +1 @@
+@import './jquery-mobile/jquery-validator';
\ No newline at end of file
diff --git a/resources/www/lightbox/styles/main.scss b/resources/www/lightbox/styles/main.scss
new file mode 100644
index 0000000000..cd308e35e2
--- /dev/null
+++ b/resources/www/lightbox/styles/main.scss
@@ -0,0 +1,591 @@
+@import '../../_shared/styles/variables';
+$lightboxPath: '../images/';
+@import '../../vendors/jquery-contextmenu/styles/jquery.contextmenu';
+
+$mainMenuBackgroundColor: #c7c7c7; //BFBFBF;
+$mainMenuBottomBorder: 1px solid #c7c7c7;
+$mainMenuLinkColor: #212121;
+$mainMenuLinkHoverColor: #000000;
+$mainMenuLinkActiveColor: #BFBFBF;
+$mainMenuLinkBackgroundHoverColor: transparent;
+@import '../../_shared/styles/main-menu';
+
+body {
+ background-color: #BFBFBF;
+ color: #212121;
+ /*font-size:11px;*/
+ font-family: $defaultFontFamily;
+ font-size: $mediumFontSize;
+}
+
+#mainContent {
+ top: 30px;
+}
+
+a, a:hover, a:visited {
+ color: #BFBFBF;
+}
+
+#record_infos a,
+#record_infos a:hover,
+#record_infos a:visited {
+ color: #000000;
+}
+
+ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+}
+
+img {
+ border: none;
+ vertical-align: middle;
+}
+
+#top_container {
+ bottom: 190px;
+}
+
+#bottom_container {
+ height: 200px;
+ top: auto;
+ bottom: -10px
+}
+
+.title15 {
+ font-size: 15px;
+ font-weight: bold;
+}
+
+.record_display_box table {
+ vertical-align: middle;
+ table-layout: fixed;
+}
+
+.record_display_box {
+ width: 100%;
+ height: 100%;
+ display: block;
+}
+
+.record_display_box .record {
+ position: relative;
+ max-width: none;
+ max-height: none;
+}
+
+.record_display_box .header .title {
+ overflow: hidden;
+ line-height: 20px;
+ height: 20px;
+}
+
+.record_display_box .header {
+ color: #BFBFBF;
+ height: 30px;
+ bottom: auto;
+ overflow: hidden;
+}
+
+.record_display_box .lightbox_container {
+ top: 30px;
+ overflow: hidden;
+}
+
+#sc_wrapper {
+ left: 20px;
+ right: 20px;
+ overflow-x: scroll;
+ overflow-y: hidden;
+}
+
+#sc_container {
+ position: relative;
+ height: 100%;
+}
+
+.basket_element_wrapper {
+ position: relative;
+ float: left;
+ padding: 0 5px;
+}
+
+.basket_element {
+ position: relative;
+ float: left;
+ width: 114px;
+ height: 130px;
+ border: 1px solid #212121;
+ text-align: left;
+ padding: 5px 8px;
+}
+
+.basket_element.selected {
+ background-color: #212121;
+}
+
+.basket_element .display_id {
+ top: 4px;
+ left: 8px;
+}
+
+#report .display_id {
+ top: -5px;
+ left: -5px;
+}
+
+#report .CHIM.diapo {
+ position: relative;
+ text-align: center;
+}
+
+.display_id {
+ background-color: #FFFFFF;
+ padding: 3px 6px;
+ font-weight: bold;
+ z-index: 99;
+ color: #212121;
+ -moz-border-radius: 50%;
+ -webkit-border-radius: 50%;
+ border-radius: 50%;
+ position: absolute;
+}
+
+.basket_element .agreement {
+ position: absolute;
+ top: 4px;
+ right: 8px;
+ z-index: 99;
+}
+
+.not_decided {
+ opacity: 0.30;
+ filter: alpha(opacity=30);
+}
+
+#sc_wrapper .not_decided {
+ display: none;
+}
+
+.basket_element .image {
+ position: relative;
+ z-index: 90;
+}
+
+.basket_element .previewTips {
+ background-image: url('#{$iconsPath}zoom.gif');
+ background-position: center center;
+ background-repeat: no-repeat;
+ cursor: help;
+ position: absolute;
+ bottom: 4px;
+ right: 8px;
+ height: 18px;
+ width: 18px;
+ z-index: 99;
+}
+
+.record_display_box .title {
+ margin: 0 10px;
+}
+
+.record_display_box .display_id {
+ top: 5px;
+ margin: 0 0 0 5px;
+}
+
+#right_scroller {
+ width: 30px;
+ right: -10px;
+ left: auto;
+ background-image: url('#{$lightboxPath}right_arrow.png');
+ background-position: center center;
+ background-repeat: no-repeat;
+}
+
+#left_scroller {
+ width: 30px;
+ left: -10px;
+ right: auto;
+ background-image: url('#{$lightboxPath}left_arrow.png');
+ background-position: center center;
+ background-repeat: no-repeat;
+}
+
+#basket_infos {
+ overflow: hidden;
+ background-color: #1F1E1B;
+ color: #BFBFBF;
+}
+
+#basket_options {
+ height: 35px;
+ top: auto;
+ background-color: #1F1E1B;
+ text-align: center;
+}
+
+#basket_options .confirm_report {
+ margin: 5px auto;
+}
+
+#basket_infos .user_infos {
+ height: 120px;
+ top: auto;
+}
+
+#basket_infos table {
+ width: 100%;
+ margin: 5px 0;
+}
+
+#basket_infos table .title {
+ width: 100%;
+}
+
+#basket_infos table .report_wrapper {
+ text-align: right;
+}
+
+#right_column {
+ left: auto;
+ right: 0;
+ width: 240px;
+}
+
+#right_column_validation_toggle {
+ bottom: 45px;
+ background-color: #1F1E1B;
+ height: 30px;
+ top: auto;
+ text-align: center;
+ display: none;
+ line-height: 25px;
+ color: #BFBFBF;
+}
+
+#right_column .right_column_title {
+ height: 30px;
+ bottom: auto;
+}
+
+#right_column .right_column_title img.expanded {
+ display: none;
+}
+
+#right_column .right_column_title img.collapsed {
+ display: inline;
+}
+
+#right_column .right_column_title.expanded img.expanded {
+ display: inline;
+}
+
+#right_column .right_column_title.expanded img.collapsed {
+ display: none;
+}
+
+#right_column .right_column_wrapper {
+ top: 30px;
+ bottom: 45px;
+}
+
+#right_column .right_column_wrapper.caption {
+ bottom: 85px;
+}
+
+#record_infos {
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+
+#record_compare {
+ visibility: hidden;
+ top: auto;
+ left: auto;
+}
+
+#record_compare .header, #record_compare .lightbox_container {
+ left: 5px;
+}
+
+#record_wrapper.comparison #record_main .header, #record_wrapper.comparison #record_main .lightbox_container {
+ right: 5px;
+}
+
+.agreement_selector {
+ position: absolute;
+ bottom: 10px;
+ right: 10px;
+}
+
+.clickable {
+ cursor: pointer;
+}
+
+.big_box.agree {
+ border: 2px solid #35AC00;
+ background-color: #35AC00;
+}
+
+.big_box.disagree {
+ border: 2px solid #DE1200;
+ background-color: #DE1200;
+}
+
+.big_box, .big_box.not_decided {
+ width: 95px;
+ margin: 0 auto;
+ padding: 6px 10px;
+ height: 30px;
+ color: #1F1E1B;
+ background-color: #353430;
+ border: 2px solid #353430;
+ text-align: center;
+ opacity: 1;
+ filter: alpha(opacity=100);
+}
+
+.big_box span {
+ margin: 0 10px;
+}
+
+li.userchoice {
+ margin: 5px 0 0px 20px;
+}
+
+.userchoice.disagree {
+ color: #DE1200;
+}
+
+.userchoice.agree {
+ color: #35AC00;
+}
+
+.basket_report_user {
+ padding: 10px;
+}
+
+.basket_report_user_wrapper {
+ background-color: #1F1E1B;
+ margin: 0 0 5px;
+ color: #BEBEBE;
+}
+
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text {
+ padding: 0.2em 1em 0.2em 2.1em;
+}
+
+/*******
+ *
+ * Index
+ *
+ * ******/
+#main_index {
+ position: relative;
+ width: 600px;
+ margin: 0 auto;
+}
+
+#main_wrapper {
+ width: 100%;
+}
+
+#main_wrapper h1 {
+ font-weight: bold;
+ font-size: 25px;
+}
+
+table th {
+ text-align: right;
+ vertical-align: bottom;
+ height: 60px;
+ border-bottom: 1px solid #8F8F8F;
+}
+
+table th.title {
+ text-align: left;
+}
+
+table th h1 {
+ margin-left: 20px;
+}
+
+table th i {
+ margin-right: 20px;
+}
+
+.ui-button.download_button {
+ margin: 0 5px 0 50px;
+}
+
+.ui-button.comment_button {
+ margin-left: 5px;
+}
+
+.basket_wrapper.hover {
+ background-color: #1F1E1B;
+ color: #BFBFBF;
+}
+
+.basket_wrapper {
+ margin: 10px;
+}
+
+.basket_wrapper table {
+ margin: 10px;
+ width: 580px;
+}
+
+.basket_description table {
+ margin: 0;
+ width: 100%;
+ text-align: left;
+}
+
+.basket_description table td.right {
+ text-align: right;
+ width: 120px;
+ font-style: italic;
+ vertical-align: top;
+}
+
+.basket_description {
+}
+
+.thumb_wrapper {
+ text-align: center;
+}
+
+.thumb_wrapper .thumb {
+ position: relative;
+}
+
+#sc_wrapper .thumb_wrapper {
+ position: absolute;
+ top: 28px;
+}
+
+.record_display_box .notes_overlay {
+ background-color: #BFBFBF;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ opacity: 0.70;
+ filter: alpha(opacity=70);
+ z-index: 100;
+}
+
+.record_display_box .notes_wrapper {
+ position: absolute;
+ top: -100%;
+ height: 100%;
+ width: 100%;
+ left: 0px;
+}
+
+.record_display_box .note_wrapper {
+ background-color: white;
+ position: relative;
+ max-width: 75%;
+ margin: 20px 0;
+ padding: 10px;
+ color: #212121;
+}
+
+.record_display_box .note_wrapper.my_note {
+ background-color: #C9FFF7;
+}
+
+.record_display_box .notes h2 {
+ margin: 10px 0;
+}
+
+.record_display_box .notes {
+ position: relative;
+ margin: 0 auto;
+ width: 80%;
+ height: 90%;
+ max-width: 450px;
+ z-index: 110;
+ overflow-y: auto;
+ overflow-x: hidden;
+}
+
+.ui-state-default.note_closer, .ui-state-default.note_saver {
+ background-color: #353430;
+ padding: 5px;
+ margin: 0 10px;
+}
+
+.ui-state-default.note_saver {
+ background-color: #1F1E1B;
+}
+
+.record_display_box form .buttons {
+ margin: 5px;
+ text-align: right;
+}
+
+.record_display_box form {
+ margin: 15px 0;
+ width: 90%;
+}
+
+.record_display_box form textarea {
+ width: 100%;
+ height: 75px;
+}
+
+#navigation {
+ width: 200px;
+}
+
+.basket_downloader {
+ background-color: #1F1E1B;
+ margin: 0 10px;
+ padding: 2px;
+ border: 0;
+}
+
+hr {
+ width: 100%;
+ height: 1px;
+ background-color: #212121;
+ border: none;
+}
+
+.report {
+ margin: 0 10px;
+ vertical-align: bottom;
+}
+
+/*
+ *
+ * Overrides JqueryUI
+ *
+ */
+.ui-button {
+ background: transparent;
+ border: none;
+ margin: 0;
+ padding: 0;
+}
+
+.ui-button-text-only .ui-button-text {
+ padding: 0.15em;
+}
+
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
+ color: #BFBFBF;
+ background-image: none;
+ border: none;
+ background-color: transparent;
+}
+
+.ui-widget-header {
+ background-color: #1F1E1B;
+ background-image: none;
+ border: none;
+}
diff --git a/resources/www/oauth/main.scss b/resources/www/oauth/main.scss
new file mode 100644
index 0000000000..af096e9fb8
--- /dev/null
+++ b/resources/www/oauth/main.scss
@@ -0,0 +1,96 @@
+/********* Default CSS Oauth pages *********/
+
+/****************** Page *******************/
+@import '../_shared/styles/variables';
+html, body {
+ background: #000000;
+ font-family: $defaultFontFamily;
+ font-size: $mediumFontSize;
+ color: #FFFFFF;
+}
+
+/**************** Title-box ****************/
+
+#title-box {
+ height: 40px;
+ padding: 50px 10px 50px 10px;
+ background: #666666; /* Old browsers */
+ background: -moz-radial-gradient(center, ellipse cover, #666666 0%, #595959 0%, #4c4c4c 12%, #474747 20%, #131313 77%); /* FF3.6+ */
+ background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#666666), color-stop(0%,#595959), color-stop(12%,#4c4c4c), color-stop(20%,#474747), color-stop(77%,#131313)); /* Chrome,Safari4+ */
+ background: -webkit-radial-gradient(center, ellipse cover, #666666 0%,#595959 0%,#4c4c4c 12%,#474747 20%,#131313 77%); /* Chrome10+,Safari5.1+ */
+ background: -o-radial-gradient(center, ellipse cover, #666666 0%,#595959 0%,#4c4c4c 12%,#474747 20%,#131313 77%); /* Opera 12+ */
+ background: -ms-radial-gradient(center, ellipse cover, #666666 0%,#595959 0%,#4c4c4c 12%,#474747 20%,#131313 77%); /* IE10+ */
+ background: radial-gradient(center, ellipse cover, #666666 0%,#595959 0%,#4c4c4c 12%,#474747 20%,#131313 77%); /* W3C */
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#666666', endColorstr='#131313',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
+}
+#namePhr {
+ color: #A9A9A9;
+ text-align: center;
+}
+
+/*************** Content-box ***************/
+
+#content-box {
+ padding: 10px;
+ text-align: center;
+}
+p.login_error {
+ color: #FF0000;
+}
+p.login_hello {
+ color: #FFFFFF;
+}
+#login-form {
+ text-align: center;
+}
+#myLogin {
+ background: #FFFFFF;
+ box-shadow: 0px 0px 10px #DCDCDC;
+ border-bottom: 1px solid #DCDCDC;
+ border-radius: 15px 15px 0 0;
+ padding: 10px;
+ margin-bottom: 0;
+}
+#myPass {
+ background: #FFFFFF;
+ box-shadow: 0px 0px 10px #DCDCDC;
+ border-top: 1px solid #DCDCDC;
+ border-radius: 0 0 15px 15px;
+ padding: 10px;
+ margin-bottom: 0;
+}
+#button_login {
+ margin-top: 20px;
+}
+#hello-box {
+ padding: 10px;
+ text-align: center;
+}
+#text-box {
+ background: #FFFFFF;
+ box-shadow: 0px 0px 10px #DCDCDC;
+ border-radius: 15px;
+ padding: 10px;
+ color: #000000;
+}
+#top-text-box {
+ padding-bottom: 5px;
+ border-bottom: 1px dashed #000000;
+ font-weight: bold;
+}
+#main-text-box {
+ padding-top: 10px;
+ color: #808080;
+}
+#main-text-box span {
+ color: #FFA500;
+}
+#btn-box {
+ padding: 10px;
+ text-align: center;
+}
+form.access-deny {
+ display: inline-block;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
diff --git a/www/skins/prod/Basket/Browser/BASKET_LIST.png b/resources/www/prod/images/Basket/Browser/BASKET_LIST.png
similarity index 100%
rename from www/skins/prod/Basket/Browser/BASKET_LIST.png
rename to resources/www/prod/images/Basket/Browser/BASKET_LIST.png
diff --git a/www/skins/prod/Basket/Browser/archive.png b/resources/www/prod/images/Basket/Browser/archive.png
similarity index 100%
rename from www/skins/prod/Basket/Browser/archive.png
rename to resources/www/prod/images/Basket/Browser/archive.png
diff --git a/www/skins/prod/Basket/Browser/archived.png b/resources/www/prod/images/Basket/Browser/archived.png
similarity index 100%
rename from www/skins/prod/Basket/Browser/archived.png
rename to resources/www/prod/images/Basket/Browser/archived.png
diff --git a/www/skins/prod/Basket/Browser/left.png b/resources/www/prod/images/Basket/Browser/left.png
similarity index 100%
rename from www/skins/prod/Basket/Browser/left.png
rename to resources/www/prod/images/Basket/Browser/left.png
diff --git a/www/skins/prod/Basket/Browser/loader.gif b/resources/www/prod/images/Basket/Browser/loader.gif
similarity index 100%
rename from www/skins/prod/Basket/Browser/loader.gif
rename to resources/www/prod/images/Basket/Browser/loader.gif
diff --git a/www/skins/prod/Basket/Browser/right.png b/resources/www/prod/images/Basket/Browser/right.png
similarity index 100%
rename from www/skins/prod/Basket/Browser/right.png
rename to resources/www/prod/images/Basket/Browser/right.png
diff --git a/www/skins/prod/Push/close_badge.png b/resources/www/prod/images/Push/close_badge.png
similarity index 100%
rename from www/skins/prod/Push/close_badge.png
rename to resources/www/prod/images/Push/close_badge.png
diff --git a/www/skins/prod/Push/contributeur_badge.png b/resources/www/prod/images/Push/contributeur_badge.png
similarity index 100%
rename from www/skins/prod/Push/contributeur_badge.png
rename to resources/www/prod/images/Push/contributeur_badge.png
diff --git a/www/skins/prod/Push/contributeur_menu.png b/resources/www/prod/images/Push/contributeur_menu.png
similarity index 100%
rename from www/skins/prod/Push/contributeur_menu.png
rename to resources/www/prod/images/Push/contributeur_menu.png
diff --git a/www/skins/prod/Push/contributeur_off_badge.png b/resources/www/prod/images/Push/contributeur_off_badge.png
similarity index 100%
rename from www/skins/prod/Push/contributeur_off_badge.png
rename to resources/www/prod/images/Push/contributeur_off_badge.png
diff --git a/www/skins/prod/Push/download_badge.png b/resources/www/prod/images/Push/download_badge.png
similarity index 100%
rename from www/skins/prod/Push/download_badge.png
rename to resources/www/prod/images/Push/download_badge.png
diff --git a/www/skins/prod/Push/download_menu.png b/resources/www/prod/images/Push/download_menu.png
similarity index 100%
rename from www/skins/prod/Push/download_menu.png
rename to resources/www/prod/images/Push/download_menu.png
diff --git a/www/skins/prod/Push/download_off_badge.png b/resources/www/prod/images/Push/download_off_badge.png
similarity index 100%
rename from www/skins/prod/Push/download_off_badge.png
rename to resources/www/prod/images/Push/download_off_badge.png
diff --git a/www/skins/prod/Push/list-icon.png b/resources/www/prod/images/Push/list-icon.png
similarity index 100%
rename from www/skins/prod/Push/list-icon.png
rename to resources/www/prod/images/Push/list-icon.png
diff --git a/www/skins/prod/Push/save_list_as.png b/resources/www/prod/images/Push/save_list_as.png
similarity index 100%
rename from www/skins/prod/Push/save_list_as.png
rename to resources/www/prod/images/Push/save_list_as.png
diff --git a/www/skins/prod/Push/see_other_badge.png b/resources/www/prod/images/Push/see_other_badge.png
similarity index 100%
rename from www/skins/prod/Push/see_other_badge.png
rename to resources/www/prod/images/Push/see_other_badge.png
diff --git a/www/skins/prod/Push/see_other_menu.png b/resources/www/prod/images/Push/see_other_menu.png
similarity index 100%
rename from www/skins/prod/Push/see_other_menu.png
rename to resources/www/prod/images/Push/see_other_menu.png
diff --git a/www/skins/prod/Push/see_other_off_badge.png b/resources/www/prod/images/Push/see_other_off_badge.png
similarity index 100%
rename from www/skins/prod/Push/see_other_off_badge.png
rename to resources/www/prod/images/Push/see_other_off_badge.png
diff --git a/www/skins/prod/ThumbExtractor/camera_button.png b/resources/www/prod/images/ThumbExtractor/camera_button.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/camera_button.png
rename to resources/www/prod/images/ThumbExtractor/camera_button.png
diff --git a/www/skins/prod/ThumbExtractor/camera_title.png b/resources/www/prod/images/ThumbExtractor/camera_title.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/camera_title.png
rename to resources/www/prod/images/ThumbExtractor/camera_title.png
diff --git a/www/skins/prod/ThumbExtractor/cancel_button.png b/resources/www/prod/images/ThumbExtractor/cancel_button.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/cancel_button.png
rename to resources/www/prod/images/ThumbExtractor/cancel_button.png
diff --git a/www/skins/prod/ThumbExtractor/contrast.png b/resources/www/prod/images/ThumbExtractor/contrast.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/contrast.png
rename to resources/www/prod/images/ThumbExtractor/contrast.png
diff --git a/www/skins/prod/ThumbExtractor/delete.png b/resources/www/prod/images/ThumbExtractor/delete.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/delete.png
rename to resources/www/prod/images/ThumbExtractor/delete.png
diff --git a/www/skins/prod/ThumbExtractor/fleche_d.png b/resources/www/prod/images/ThumbExtractor/fleche_d.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/fleche_d.png
rename to resources/www/prod/images/ThumbExtractor/fleche_d.png
diff --git a/www/skins/prod/ThumbExtractor/fleche_g.png b/resources/www/prod/images/ThumbExtractor/fleche_g.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/fleche_g.png
rename to resources/www/prod/images/ThumbExtractor/fleche_g.png
diff --git a/www/skins/prod/ThumbExtractor/flip_horizontal.png b/resources/www/prod/images/ThumbExtractor/flip_horizontal.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/flip_horizontal.png
rename to resources/www/prod/images/ThumbExtractor/flip_horizontal.png
diff --git a/www/skins/prod/ThumbExtractor/flip_vertical.png b/resources/www/prod/images/ThumbExtractor/flip_vertical.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/flip_vertical.png
rename to resources/www/prod/images/ThumbExtractor/flip_vertical.png
diff --git a/www/skins/prod/ThumbExtractor/luminosity.png b/resources/www/prod/images/ThumbExtractor/luminosity.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/luminosity.png
rename to resources/www/prod/images/ThumbExtractor/luminosity.png
diff --git a/www/skins/prod/ThumbExtractor/ok_button.png b/resources/www/prod/images/ThumbExtractor/ok_button.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/ok_button.png
rename to resources/www/prod/images/ThumbExtractor/ok_button.png
diff --git a/www/skins/prod/ThumbExtractor/question_mark.png b/resources/www/prod/images/ThumbExtractor/question_mark.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/question_mark.png
rename to resources/www/prod/images/ThumbExtractor/question_mark.png
diff --git a/www/skins/prod/ThumbExtractor/reset.png b/resources/www/prod/images/ThumbExtractor/reset.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/reset.png
rename to resources/www/prod/images/ThumbExtractor/reset.png
diff --git a/www/skins/prod/ThumbExtractor/validate_button.png b/resources/www/prod/images/ThumbExtractor/validate_button.png
similarity index 100%
rename from www/skins/prod/ThumbExtractor/validate_button.png
rename to resources/www/prod/images/ThumbExtractor/validate_button.png
diff --git a/www/skins/client/favicon.ico b/resources/www/prod/images/favicon.ico
similarity index 52%
rename from www/skins/client/favicon.ico
rename to resources/www/prod/images/favicon.ico
index 62da29aec2..e778aa4c43 100644
Binary files a/www/skins/client/favicon.ico and b/resources/www/prod/images/favicon.ico differ
diff --git a/www/skins/prod/ThumbExtractor.js b/resources/www/prod/js/ThumbExtractor.js
similarity index 100%
rename from www/skins/prod/ThumbExtractor.js
rename to resources/www/prod/js/ThumbExtractor.js
diff --git a/www/skins/prod/jquery.Alerts.js b/resources/www/prod/js/jquery.Alerts.js
similarity index 100%
rename from www/skins/prod/jquery.Alerts.js
rename to resources/www/prod/js/jquery.Alerts.js
diff --git a/www/include/js/jquery.Edit.js b/resources/www/prod/js/jquery.Edit.js
similarity index 100%
rename from www/include/js/jquery.Edit.js
rename to resources/www/prod/js/jquery.Edit.js
diff --git a/www/skins/prod/jquery.Feedback.js b/resources/www/prod/js/jquery.Feedback.js
similarity index 98%
rename from www/skins/prod/jquery.Feedback.js
rename to resources/www/prod/js/jquery.Feedback.js
index 055a27ea8c..45cb86ff1f 100644
--- a/www/skins/prod/jquery.Feedback.js
+++ b/resources/www/prod/js/jquery.Feedback.js
@@ -199,7 +199,7 @@
$('.user_content .badges', this.container).disableSelection();
- $('.user_content .badges .badge .toggle', this.container).die('click').live('click', function (event) {
+ $('.user_content .badges .badge .toggle', this.container).off('click').on('click', function (event) {
var $this = $(this);
@@ -228,7 +228,7 @@
return false;
});
- $('.user_content .badges .badge .deleter', this.container).live('click', function (event) {
+ $('.user_content .badges .badge .deleter', this.container).on('click', function (event) {
var $elem = $(this).closest('.badge');
$elem.fadeOut(function () {
$elem.remove();
@@ -424,7 +424,7 @@
return false;
});
- $('a.list_sharer', this.container).die('click').live('click', function () {
+ $('a.list_sharer', this.container).off('click').on('click', function () {
var $this = $(this),
options = {
@@ -662,7 +662,7 @@
initLeft();
- $('.badges a.deleter', this.container).live('click', function () {
+ $('.badges a.deleter', this.container).on('click', function () {
var badge = $(this).closest('.badge');
diff --git a/www/skins/prod/jquery.Prod.js b/resources/www/prod/js/jquery.Prod.js
similarity index 94%
rename from www/skins/prod/jquery.Prod.js
rename to resources/www/prod/js/jquery.Prod.js
index 9596dd3321..d0c18373cd 100644
--- a/www/skins/prod/jquery.Prod.js
+++ b/resources/www/prod/js/jquery.Prod.js
@@ -3,7 +3,7 @@
humane.info = humane.spawn({addnCls: 'humane-libnotify-info', timeout: 1000});
humane.error = humane.spawn({addnCls: 'humane-libnotify-error', timeout: 1000});
- $('a.dialog').live('click', function (event) {
+ $('a.dialog').on('click', function (event) {
var $this = $(this), size = 'Medium';
if ($this.hasClass('small-dialog')) {
diff --git a/www/skins/prod/jquery.Results.js b/resources/www/prod/js/jquery.Results.js
similarity index 100%
rename from www/skins/prod/jquery.Results.js
rename to resources/www/prod/js/jquery.Results.js
diff --git a/www/include/js/jquery.Selection.js b/resources/www/prod/js/jquery.Selection.js
similarity index 98%
rename from www/include/js/jquery.Selection.js
rename to resources/www/prod/js/jquery.Selection.js
index db6d30c24e..74afcc2a05 100644
--- a/www/include/js/jquery.Selection.js
+++ b/resources/www/prod/js/jquery.Selection.js
@@ -35,10 +35,8 @@
this.$container.data('selectionnable', this);
this.$container.addClass('selectionnable');
-
- jQuery(this.options.selector, this.$container)
- .live('click', function (event) {
-
+ this.$container
+ .on('click', this.options.selector, function(event) {
if (typeof $this.options.selectStart === 'function') {
$this.options.selectStart(jQuery.extend(jQuery.Event('selectStart'), event), $this);
}
diff --git a/www/skins/prod/jquery.Upload.js b/resources/www/prod/js/jquery.Upload.js
similarity index 100%
rename from www/skins/prod/jquery.Upload.js
rename to resources/www/prod/js/jquery.Upload.js
diff --git a/www/skins/prod/jquery.WorkZone.js b/resources/www/prod/js/jquery.WorkZone.js
similarity index 99%
rename from www/skins/prod/jquery.WorkZone.js
rename to resources/www/prod/js/jquery.WorkZone.js
index 0487adb4f3..3f90ffe930 100644
--- a/www/skins/prod/jquery.WorkZone.js
+++ b/resources/www/prod/js/jquery.WorkZone.js
@@ -66,7 +66,7 @@ var p4 = p4 || {};
});
}
- $("#baskets div.content select[name=valid_ord]").live('change', function () {
+ $("#baskets div.content select[name=valid_ord]").on('change', function () {
var active = $('#baskets .SSTT.ui-state-active');
if (active.length === 0) {
return;
@@ -531,7 +531,7 @@ var p4 = p4 || {};
$(document).ready(function () {
activeBaskets();
- $('a.story_unfix').live('click', function () {
+ $('a.story_unfix').on('click', function () {
unfix($(this).attr('href'));
return false;
diff --git a/www/include/jslibs/jquery.color.animation.js b/resources/www/prod/js/jquery.color.animation.js
similarity index 100%
rename from www/include/jslibs/jquery.color.animation.js
rename to resources/www/prod/js/jquery.color.animation.js
diff --git a/www/include/jslibs/jquery.form.2.49.js b/resources/www/prod/js/jquery.form.2.49.js
similarity index 100%
rename from www/include/jslibs/jquery.form.2.49.js
rename to resources/www/prod/js/jquery.form.2.49.js
diff --git a/www/include/js/jquery.lists.js b/resources/www/prod/js/jquery.lists.js
similarity index 100%
rename from www/include/js/jquery.lists.js
rename to resources/www/prod/js/jquery.lists.js
diff --git a/www/skins/prod/jquery.main-prod.js b/resources/www/prod/js/jquery.main-prod.js
similarity index 96%
rename from www/skins/prod/jquery.main-prod.js
rename to resources/www/prod/js/jquery.main-prod.js
index 48446d0ac9..a32a0d33c3 100644
--- a/www/skins/prod/jquery.main-prod.js
+++ b/resources/www/prod/js/jquery.main-prod.js
@@ -207,7 +207,7 @@ function checkFilters(save) {
var nbSelectedColls = 0;
$this.find('.checkbas').each(function (idx, el) {
nbCols++;
- if($(this).attr("checked")) {
+ if($(this).prop('checked')) {
nbSelectedColls++;
nbTotalSelectedColls++;
search.bases[sbas_id].push($(this).val());
@@ -324,7 +324,7 @@ function checkFilters(save) {
search.dates.minbound = $('#ADVSRCH_DATE_ZONE input[name=date_min]', adv_box).val();
search.dates.maxbound = $('#ADVSRCH_DATE_ZONE input[name=date_max]', adv_box).val();
search.dates.field = $('#ADVSRCH_DATE_ZONE select[name=date_field]', adv_box).val();
-
+ console.log(search.dates.minbound, search.dates.maxbound, search.dates.field)
if ($.trim(search.dates.minbound) || $.trim(search.dates.maxbound)) {
danger = true;
$('#ADVSRCH_DATE_ZONE', adv_box).addClass('danger');
@@ -636,16 +636,17 @@ function loadFacets(facets) {
}
function sortByPredefinedFacets(source, field, predefinedFieldOrder) {
- var filteredSource = source,
+ var filteredSource = _.extend([], source),
ordered = [];
_.forEach(predefinedFieldOrder, function(fieldValue, index){
_.forEach(source, function(facet, facetIndex) {
- if (facet[field] === fieldValue) {
- ordered.push(facet);
- // remove from filtered
- filteredSource.splice(facetIndex, 1);
-
+ if( facet[field] !== undefined) {
+ if (facet[field] === fieldValue) {
+ ordered.push(facet);
+ // remove from filtered
+ filteredSource.splice(facetIndex, 1);
+ }
}
});
});
@@ -1007,8 +1008,11 @@ function HueToRgb(m1, m2, hue) {
$(document).ready(function () {
$('input[name=search_type]').bind('click', function () {
+ console.log('search bind')
var $this = $(this);
var $record_types = $('#recordtype_sel');
+
+ console.log($this.hasClass('mode_type_reg'), $record_types)
if ($this.hasClass('mode_type_reg')) {
$record_types.css("visibility", "hidden"); // better than hide because does not change layout
$record_types.prop("selectedIndex", 0);
@@ -1017,7 +1021,7 @@ $(document).ready(function () {
}
});
- $('.adv_search_button').live('click', function () {
+ $('.adv_search_button').on('click', function () {
var searchForm = $('#searchForm');
var parent = searchForm.parent();
@@ -1073,7 +1077,7 @@ $(document).ready(function () {
return gogo;
});
- $('.basket_refresher').live('click', function () {
+ $('.basket_refresher').on('click', function () {
return p4.WorkZone.refresh('current');
return false;
});
@@ -1142,19 +1146,19 @@ $(document).ready(function () {
$(this).highlight('#CCCCCC');
});
- $('#answers .see_more a').live('click', function (event) {
+ $('#answers .see_more a').on('click', function (event) {
$see_more = $(this).closest('.see_more');
$see_more.addClass('loading');
});
- $('#answers .feed .entry').live('mouseover', function () {
+ $('#answers .feed .entry').on('mouseover', function () {
$(this).addClass('hover');
});
- $('#answers .feed .entry').live('mouseout', function () {
+ $('#answers .feed .entry').on('mouseout', function () {
$(this).removeClass('hover');
});
- $('a.ajax_answers').live('click', function (event) {
+ $('a.ajax_answers').on('click', function (event) {
event.stopPropagation();
var $this = $(this);
@@ -1201,7 +1205,7 @@ $(document).ready(function () {
});
- $('a.subscribe_rss').live('click', function (event) {
+ $('a.subscribe_rss').on('click', function (event) {
var $this = $(this);
@@ -1258,13 +1262,13 @@ $(document).ready(function () {
return false;
});
- $('#search_submit').live('mousedown', function (event) {
+ $('#search_submit').on('mousedown', function (event) {
return false;
});
- $('#history-queries ul li').live('mouseover',function () {
+ $('#history-queries ul li').on('mouseover',function () {
$(this).addClass('hover');
- }).live('mouseout', function () {
+ }).on('mouseout', function () {
$(this).removeClass('hover');
});
@@ -1338,6 +1342,7 @@ $(document).ready(function () {
$('#idFrameC #retractableButton').bind('click', function (event) {
if($('#idFrameC').attr('data-status') != 'closed'){
+ $(this).find('i').removeClass('icon-double-angle-left').addClass('icon-double-angle-right')
$('#idFrameC').width(80);
$('#rightFrame').css('left', 80);
$('#rightFrame').width($(window).width()-80);
@@ -1348,6 +1353,7 @@ $(document).ready(function () {
$('#idFrameC').addClass('closed');
previousTab = $('#idFrameC .icon-menu').find('li.ui-tabs-active');
}else{
+ $(this).find('i').removeClass('icon-double-angle-right').addClass('icon-double-angle-left')
$('#idFrameC').width(300);
$('#rightFrame').css('left', 300);
$('#rightFrame').width($(window).width()-300);
@@ -1668,17 +1674,17 @@ $(document).ready(function () {
}
});
- $('input.input_select_copy').live('focus', function () {
+ $('input.input_select_copy').on('focus', function () {
$(this).select();
});
- $('input.input_select_copy').live('blur', function () {
+ $('input.input_select_copy').on('blur', function () {
$(this).deselect();
});
- $('input.input_select_copy').live('click', function () {
+ $('input.input_select_copy').on('click', function () {
$(this).select();
});
- $('#answers .feed .entry a.options').live('click', function () {
+ $('#answers .feed .entry a.options').on('click', function () {
var $this = $(this);
$.ajax({
type: "GET",
@@ -1690,7 +1696,7 @@ $(document).ready(function () {
});
return false;
});
- $('#answers .feed .entry a.feed_delete').live('click', function () {
+ $('#answers .feed .entry a.feed_delete').on('click', function () {
if (!confirm('etes vous sur de vouloir supprimer cette entree ?'))
return false;
var $this = $(this);
@@ -1940,7 +1946,9 @@ function toolREFACTOR(datas, activeTab) {
}
function activeIcons() {
- $('.TOOL_print_btn').live('click', function () {
+ var $container = $('body');
+ $container.on('click', '.TOOL_print_btn', function (e) {
+ e.preventDefault();
var value = "";
if ($(this).hasClass('results_window')) {
@@ -1978,11 +1986,11 @@ function activeIcons() {
alert(language.nodocselected);
}
});
-
- $('.TOOL_bridge_btn').live('click', function (e) {
+ $container.on('click', '.TOOL_bridge_btn', function (e) {
e.preventDefault();
var $button = $(this);
var datas = {};
+ var bridgeHref = $button.attr("href");
if ($button.hasClass('results_window')) {
if (p4.Results.Selection.length() > 0)
@@ -1990,6 +1998,7 @@ function activeIcons() {
}
else {
if ($button.hasClass('basket_window')) {
+ bridgeHref = $button.attr("data-href");
if (p4.WorkZone.Selection.length() > 0)
datas.lst = p4.WorkZone.Selection.serialize();
else
@@ -2001,6 +2010,7 @@ function activeIcons() {
}
else {
if ($button.hasClass('story_window')) {
+ bridgeHref = $button.attr("data-href");
if (p4.WorkZone.Selection.length() > 0) {
datas.lst = p4.WorkZone.Selection.serialize();
}
@@ -2013,15 +2023,15 @@ function activeIcons() {
}
if (datas.ssel || datas.lst || datas.story) {
- init_publicator($button.attr("href"), datas);
+ init_publicator(bridgeHref, datas);
}
else {
alert(language.nodocselected);
}
});
+ $container.on('click', '.TOOL_trash_btn', function () {
- $('.TOOL_trash_btn').live('click', function () {
var type = "";
var el = false;
@@ -2057,8 +2067,8 @@ function activeIcons() {
alert(language.nodocselected);
}
});
+ $container.on('click', '.TOOL_ppen_btn', function () {
- $('.TOOL_ppen_btn').live('click', function () {
var value = "";
var type = "";
@@ -2106,8 +2116,7 @@ function activeIcons() {
alert(language.nodocselected);
}
});
-
- $('.TOOL_publish_btn').live('click', function () {
+ $container.on('click', '.TOOL_publish_btn', function () {
var value = "";
var type = "";
@@ -2187,7 +2196,8 @@ function activeIcons() {
return;
}
- $('.TOOL_chgcoll_btn').live('click', function () {
+
+ $container.on('click', '.TOOL_chgcoll_btn', function () {
var value = {};
if ($(this).hasClass('results_window')) {
@@ -2228,7 +2238,7 @@ function activeIcons() {
alert(language.nodocselected);
});
- $('.TOOL_chgstatus_btn').live('click', function () {
+ $container.on('click', '.TOOL_chgstatus_btn', function () {
var params = {};
var $this = $(this);
@@ -2266,7 +2276,7 @@ function activeIcons() {
}
});
- $('.TOOL_pushdoc_btn').live('click', function () {
+ $container.on('click', '.TOOL_pushdoc_btn', function () {
var value = "", type = "", sstt_id = "", story = "";
if ($(this).hasClass('results_window')) {
if (p4.Results.Selection.length() > 0)
@@ -2303,8 +2313,7 @@ function activeIcons() {
}
});
-
- $('.TOOL_feedback_btn').live('click', function () {
+ $container.on('click', '.TOOL_feedback_btn', function () {
var value = "", type = "", sstt_id = "", story = '';
if ($(this).hasClass('results_window')) {
if (p4.Results.Selection.length() > 0)
@@ -2341,8 +2350,7 @@ function activeIcons() {
}
});
-
- $('.TOOL_imgtools_btn').live('click', function () {
+ $container.on('click', '.TOOL_imgtools_btn', function () {
var datas = {};
if ($(this).hasClass('results_window')) {
@@ -2381,8 +2389,7 @@ function activeIcons() {
}
});
-
- $('.TOOL_disktt_btn').live('click', function () {
+ $container.on('click', '.TOOL_disktt_btn', function () {
var datas = {};
if ($(this).hasClass('results_window')) {
@@ -2665,7 +2672,7 @@ function doDelete(lst) {
imgt.draggable("destroy");
}
- imgt.find(".thumb img").attr("src", "/skins/icons/deleted.png").css({
+ imgt.find(".thumb img").attr("src", "/assets/common/images/icons/deleted.png").css({
width: '100%',
height: 'auto',
margin: '0 10px',
@@ -2780,8 +2787,7 @@ function deploy(deployer, todeploy_selector)
}
function clksbas(el, sbas_id) {
- var bool = $(el).attr('checked');
-
+ var bool = $(el).prop('checked');
$.each($('.sbascont_' + sbas_id + ' :checkbox'), function () {
this.checked = bool;
});
@@ -3055,16 +3061,16 @@ function set_up_feed_box(data) {
data: $form.serializeArray(),
dataType: 'json',
beforeSend: function () {
- $('button', dialog.getDomElement()).attr('disabled', 'disabled');
+ $('button', dialog.getDomElement()).prop('disabled', true);
},
error: function () {
- $('button', dialog.getDomElement()).removeAttr('disabled');
+ $('button', dialog.getDomElement()).prop('disabled', false);
},
timeout: function () {
- $('button', dialog.getDomElement()).removeAttr('disabled');
+ $('button', dialog.getDomElement()).prop('disabled', false);
},
success: function (data) {
- $('button', dialog.getDomElement()).removeAttr('disabled');
+ $('button', dialog.getDomElement()).prop('disabled', false);
if (data.error === true) {
alert(data.message);
return;
diff --git a/www/include/jquery.p4.preview.js b/resources/www/prod/js/jquery.p4.preview.js
similarity index 99%
rename from www/include/jquery.p4.preview.js
rename to resources/www/prod/js/jquery.p4.preview.js
index 575683c0d5..badd5549a0 100644
--- a/www/include/jquery.p4.preview.js
+++ b/resources/www/prod/js/jquery.p4.preview.js
@@ -41,7 +41,7 @@ function openPreview(env, pos, contId, reload) {
justOpen = true;
- if (!$.browser.msie) {
+ if (!( navigator.userAgent.match(/msie/i))) {
$('#PREVIEWBOX').css({
'display': 'block',
'opacity': 0
diff --git a/www/skins/prod/publicator.js b/resources/www/prod/js/publicator.js
similarity index 100%
rename from www/skins/prod/publicator.js
rename to resources/www/prod/js/publicator.js
diff --git a/www/skins/prod/jquery.edit.js b/resources/www/prod/js/record.editor.js
similarity index 95%
rename from www/skins/prod/jquery.edit.js
rename to resources/www/prod/js/record.editor.js
index c461a85669..35e98a02ce 100644
--- a/www/skins/prod/jquery.edit.js
+++ b/resources/www/prod/js/record.editor.js
@@ -230,7 +230,7 @@ function editField(evt, meta_struct_id) {
$('#idEditZTextArea, #EditTextMultiValued').bind('keyup.maxLength',function () {
var remaining = Math.max((p4.edit.T_fields[meta_struct_id].maxLength - $(this).val().length), 0);
- idexplain.html("
Caracteres restants : " + (remaining) + "");
+ idexplain.html("
Caracteres restants : " + (remaining) + "");
$('.metadatas_restrictionsTips', idexplain).tooltip();
}).trigger('keyup.maxLength');
}
@@ -364,7 +364,7 @@ function updateCurrentMval(meta_struct_id, HighlightValue, vocabularyId) {
var word = value.getValue();
var key = value.getVocabularyId() + '%' + word;
- var extra = value.getVocabularyId() ? '
' : '';
+ var extra = value.getVocabularyId() ? '
' : '';
if (i > 0) {
if (value.getVocabularyId() !== null && p4.edit.T_mval[i - 1].getVocabularyId() == value.getVocabularyId()) {
@@ -385,8 +385,8 @@ function updateCurrentMval(meta_struct_id, HighlightValue, vocabularyId) {
+ ''
+ $('').text(word).html()
+ ""
- + ' '
- + ' '
+ + ' '
+ + ' '
+ " | "
+ " ";
}
@@ -843,7 +843,7 @@ function updateEditSelectedRecords(evt) {
}
}
- $('#idFrameE .ww_status', p4.edit.editBox).html(nrecsel + " record(s) selected for editing");
+ //$('#idFrameE .ww_status', p4.edit.editBox).html(nrecsel + " record(s) selected for editing");
updateFieldDisplay();
@@ -1300,16 +1300,16 @@ function replace() {
var where = $("[name=EditSR_Where]:checked", p4.edit.editBox).val();
var commut = "";
- var rgxp = $("#EditSROptionRX", p4.edit.editBox).attr('checked') ? true : false;
+ var rgxp = $("#EditSROptionRX", p4.edit.editBox).prop('checked') ? true : false;
var r_search;
if (rgxp) {
r_search = search;
- commut = ($("#EditSR_RXG", p4.edit.editBox).attr('checked') ? "g" : "")
- + ($("#EditSR_RXI", p4.edit.editBox).attr('checked') ? "i" : "");
+ commut = ($("#EditSR_RXG", p4.edit.editBox).prop('checked') ? "g" : "")
+ + ($("#EditSR_RXI", p4.edit.editBox).prop('checked') ? "i" : "");
}
else {
- commut = $("#EditSR_case", p4.edit.editBox).attr('checked') ? "g" : "gi";
+ commut = $("#EditSR_case", p4.edit.editBox).prop('checked') ? "g" : "gi";
r_search = "";
for (i = 0; i < search.length; i++) {
var c = search.charAt(i);
diff --git a/www/include/js/tests/jquery.Edit.js.html b/resources/www/prod/js/tests/jquery.Edit.js.html
similarity index 97%
rename from www/include/js/tests/jquery.Edit.js.html
rename to resources/www/prod/js/tests/jquery.Edit.js.html
index cf44ea6336..ae93910f6e 100644
--- a/www/include/js/tests/jquery.Edit.js.html
+++ b/resources/www/prod/js/tests/jquery.Edit.js.html
@@ -3,10 +3,10 @@
-
-
+
+
-
+
-
+
+
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
+
+
+
@@ -241,7 +241,7 @@
- 
+
|
@@ -364,9 +364,9 @@
{% if rights['restrict_dwnld'] > 0 %}
- 
+ 
{% else %}
- 
+ 
{% endif %}
@@ -374,9 +374,9 @@
|
{% if rights['time_limited'] > 0 %}
- 
+ 
{% else %}
- 
+ 
{% endif %}
@@ -384,9 +384,9 @@
|
{% if rights['masks'] > 0 %}
- 
+ 
{% else %}
- 
+ 
{% endif %}
@@ -436,7 +436,7 @@
{% if main_user is not empty and main_user.isTemplate is empty and main_user.isSpecial is empty %}
- |