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 %} -
+
@@ -504,7 +504,7 @@ {{ 'admin::compte-utilisateur ville' | trans }} @@ -553,8 +553,8 @@ {% endif %} -
- +
+ {{ 'boutton::retour' | trans }}
@@ -1105,7 +1105,7 @@ "jquery", "common/geonames" ], function ($, geonames) { - geonames.init($('#user_infos_tab input.geoname_field'), { + var geocompleter = geonames.init($('#user_infos_tab input.geoname_field'), { "server": "{{ app['geonames.server-uri'] }}", "limit": 40 }); diff --git a/templates/web/admin/fields/index.html.twig b/templates/web/admin/fields/index.html.twig index 9c70018ea7..f9c71746ad 100644 --- a/templates/web/admin/fields/index.html.twig +++ b/templates/web/admin/fields/index.html.twig @@ -4,7 +4,7 @@
{# set loading state, this will be removed once backbone application is fully loaded #} - + {% trans %}Loading database documentary structure ...{% endtrans %}
diff --git a/templates/web/admin/index.html.twig b/templates/web/admin/index.html.twig index a43f2fe9f6..af21233cdc 100644 --- a/templates/web/admin/index.html.twig +++ b/templates/web/admin/index.html.twig @@ -1,22 +1,24 @@ {% extends "common/index_bootstrap.html.twig" %} {% block icon %} - + {% endblock %} {% block rss %} {% endblock %} {% block stylesheet %} - + {% endblock %} {% block javascript %} {% include "common/templates.html.twig" %} + {# note: Tinymce must be include here without minify else URL resolution for tinymce plugins will fail #} - - + + + - + {##} {% endblock %} - {% block content %}
-
+
{% include 'admin/tree.html.twig' %}
@@ -93,14 +94,14 @@ {{ "Require email validation to activate the account" | trans }} - +
- +
diff --git a/templates/web/admin/publications/fiche.html.twig b/templates/web/admin/publications/fiche.html.twig index 131ceb4d66..0d7f7ab51f 100644 --- a/templates/web/admin/publications/fiche.html.twig +++ b/templates/web/admin/publications/fiche.html.twig @@ -12,7 +12,7 @@
@@ -190,7 +190,7 @@ * html .ui-autocomplete { height: 200px; } - .ui-autocomplete-loading { background: white url('/skins/icons/ui-anim_basic_16x16.gif') right center no-repeat; } + .ui-autocomplete-loading { background: white url('/assets/common/images/icons/ui-anim_basic_16x16.gif') right center no-repeat; } diff --git a/templates/web/admin/statusbit.html.twig b/templates/web/admin/statusbit.html.twig index f7231bc31f..e11dcd759b 100644 --- a/templates/web/admin/statusbit.html.twig +++ b/templates/web/admin/statusbit.html.twig @@ -22,18 +22,18 @@ {% if statusStructure.hasStatus(bit) %}
{% else %} {% endif %} diff --git a/templates/web/admin/subdefs.html.twig b/templates/web/admin/subdefs.html.twig index 7a290590fb..ece5bd59c8 100644 --- a/templates/web/admin/subdefs.html.twig +++ b/templates/web/admin/subdefs.html.twig @@ -1,18 +1,20 @@ -{% extends "admin/common/iframe_wrap.html.twig" %} +{#{% extends "admin/common/iframe_wrap.html.twig" %}#} -{% block stylesheet %} - +{#{% block stylesheet %} +{##} -{% endblock %} +{% endblock %}#} {% block javascript %} - - + + {# + + #} - + + + - - - + + - + + + - - diff --git a/templates/web/client/answers.html.twig b/templates/web/client/answers.html.twig deleted file mode 100644 index 87f94128ae..0000000000 --- a/templates/web/client/answers.html.twig +++ /dev/null @@ -1,227 +0,0 @@ -{% set available_results = result.getTotal() %} -{% set query_string = result.getQuery() %} -{% set current_page = result.getCurrentPage(per_page) %} -{% set total_page = result.getTotalPages(per_page) %} -{% set pagination_html = '' %} -{% set pagination_offset = 3 %} -{% set max = 2 * pagination_offset + 3 %} - - -{% if app['conf'].get(['registry', 'modules', 'thesaurus']) %} - -{% endif %} - - - -{% set tooltip_html %} -
{{ "client::answers: rapport de questions par bases" | trans }}
-{% endset %} - -{% set txt %} - - {{ query_string[0:36] }}{% if query_string|length > 36 %}...{% endif %} - - {% trans with {'%available_results%' : available_results} %}client::answers: %available_results% reponses{% endtrans %} - -   -{% endset %} - - -{% if total_page > 0 %} - {% if total_page > max %} - {% for p in 1..total_page %} - {% if p == current_page %} - {% set pagination_html = pagination_html ~ '' ~ p ~ '' %} - {% elseif (p >= (current_page - pagination_offset)) and ((p - 1) <= (current_page + pagination_offset)) %} - {% set pagination_html = pagination_html ~ '' ~ p ~ '' %} - {% elseif (current_page < (pagination_offset + 2)) and (p < (max - pagination_offset + 2)) %} - {% set pagination_html = pagination_html ~ '' ~ p ~ '' %} - {% elseif (current_page >= (total_page - pagination_offset - 2)) and (p >= (total_page - (2 * pagination_offset))) %} - {% set pagination_html = pagination_html ~ '' ~ p ~ '' %} - {% elseif p == (total_page - 1) %} - {% set pagination_html = pagination_html ~ '...' ~ p ~ '' %} - {% elseif p == 1 %} - {% set pagination_html = pagination_html ~ '' ~ p ~ '...' %} - {% endif %} - - {% if p != (total_page - 1) %} - {% set pagination_html = pagination_html ~ ' - ' %} - {% endif %} - {% endfor %} - {% else %} - {% for p in 1..total_page %} - {% if p == current_page %} - {% set pagination_html = pagination_html ~ '' ~ p ~ '' %} - {% else %} - {% set pagination_html = pagination_html ~ '' ~ p ~ '' %} - {% endif %} - - {% if p < total_page %} - {% set pagination_html = pagination_html ~ ' - ' %} - {% endif %} - {% endfor %} - {% endif %} - - {% set pagination_html = pagination_html ~ '' %} -{% endif %} - - - - -{% if result_data|length > 0 %} -
-
- +
- +
- +
- +
- {% if mod_col == 1 %} - - - - - {% else %} - - {% for i in 1..mod_col %} - - {% endfor %} - - {% endif %} - - {% for data in result_data %} - {% set record = data['record'] %} - {% set thumbnail = record.get_thumbnail() %} - - {% if loop.first %} - - {% endif %} - - {% if (loop.index0 % mod_col) == 0 and not loop.first %} - - - {% endif %} - - {% if mod_col == 1 and not loop.first %} - - - - - - {% endif %} - - {% if mod_col == 1 %} - - {% if mod_col == 1 %} - - {% endif %} - {% endfor %} -

- {% else %} - - {% endif %} -
-
{{ record.get_title() }}
-
- {% for flag in record_flags(record) %} - - {% endfor %} -
- - - - -
- {% if data['is_video'] or data['is_audio'] %} - {% if record.get_formated_duration() is not empty %} -
{{ record.get_formated_duration() }}
- {% endif %} - {% endif %} - - {% if record.isStory %} - {% set on_click_html = "openPreview('REG',0, '" ~ record.get_serialize_key() ~ "');" %} - {% else %} - {% set on_click_html = "openPreview('RESULT','" ~ record.getNumber() ~ "');" %} - {% endif %} - - {% if mod_col == 1 %} - {% set pic_roll = "/prod/tooltip/preview/" ~ record.get_sbas_id() ~ "/" ~ record.get_record_id() ~ "/" %} - {% else %} - {% set pic_roll = "/prod/tooltip/caption/" ~ record.get_sbas_id() ~ "/" ~ record.get_record_id() ~ "/answer/" %} - {% endif %} - - -
-
-
-
-
{{ data['mini_logo']|raw }}
- {% if data['can_download'] %} -
- {% endif %} - -
- - {% if data['can_add_to_basket'] %} -
- {% endif %} - - {% if mod_col != 1 %} -
- {% if data['preview_exists'] %} -
 
- {% endif %} - {% endif %} -
-
-
-
-
- {{ data['caption'] }} -
- {{ data['light_info'] }} -
-
-
- -
-{% endif %} diff --git a/templates/web/client/baskets.html.twig b/templates/web/client/baskets.html.twig deleted file mode 100644 index d298633141..0000000000 --- a/templates/web/client/baskets.html.twig +++ /dev/null @@ -1,147 +0,0 @@ -{% set nb_basket_elements = selected_basket_elements.count() %} -
-
-
-
- {% if selected_basket is not none %} - {{ selected_basket.getName() }} - : - {% trans with {'%nb_basket_elements%' : nb_basket_elements} %}paniers:: %nb_basket_elements% documents dans le panier{% endtrans %} - {% if app['conf'].get(['registry', 'classic', 'basket-size-display']) %} - ({{ selected_basket.getSize(app) }} Mo) - {% endif %} - {% endif %} -
-
-
- - - - - -
- {% if total_baskets > 0 %} - - {% endif %} - - {% if total_baskets > 0 %} -
- {% endif %} -
-
- - {% if total_baskets > 0 and (app.getAclForUser(app.getAuthenticatedUser()).has_right("candwnldhd") or app.getAclForUser(app.getAuthenticatedUser()).has_right("candwnldpreview") or app.getAclForUser(app.getAuthenticatedUser()).has_right("cancmd") > 0) %} -
- {% endif %} - - {% if total_baskets > 0%} -
- {% endif %} - - {% if total_baskets > 0 %} -
- {% endif %} -
-
-
- {% if selected_basket is not none and selected_basket.getPusher() is not none %} - {% set pusher_name = selected_basket.getPusher().getDisplayName() %} -
- {% trans with {'%pusher_name%' : pusher_name} %}paniers:: panier emis par %pusher_name%{% endtrans %} -
- {% endif %} - - {% for element in selected_basket_elements %} - {% set record = element.getRecord(app) %} - {% set thumbnail = record.get_thumbnail() %} - - {% if thumbnail.get_width() > thumbnail.get_height() %} {# paysage #} - {% if thumbnail.get_width() > 67 %} - {% set width = 67 %} - {% set top = ((67 - (67 * thumbnail.get_height() / thumbnail.get_width())) / 2)|round(0, constant('PHP_ROUND_HALF_UP')) %} - {% else %} - {% set width = thumbnail.get_width() %} - {% set top = ((67 - thumbnail.get_height()) / 2)|round(0, constant('PHP_ROUND_HALF_UP')) %} - {% endif %} - - {% set dim = "width:" ~ width ~ "px" %} - {% else %} {# portrait #} - {% if thumbnail.get_height() > 55 %} - {% set height = 55 %} - {% set top = ((67 - 55) / 2)|round(0, constant('PHP_ROUND_HALF_UP')) %} - {% else %} - {% set height = thumbnail.get_height() %} - {% set top = ((67 - thumbnail.get_height()) / 2)|round(0, constant('PHP_ROUND_HALF_UP')) %} - {% endif %} - - {% set dim = "height:" ~ height ~ "px" %} - {% endif %} - - {% set tooltip = '' %} - {% if app['conf'].get(['registry', 'classic', 'basket-rollover']) %} - {% set tooltip = path('prod_tooltip_caption', { 'sbas_id' : record.get_sbas_id(), 'record_id' : record.get_record_id(), 'context' : 'basket', 'number' : record.getNumber() }) %} - {% endif %} - -
-
- -
-
-
-
- {% if app.getAclForUser(app.getAuthenticatedUser()).has_right_on_base(record.get_base_id(), 'candwnldhd') - or app.getAclForUser(app.getAuthenticatedUser()).has_right_on_base(record.get_base_id(), 'candwnldpreview') - or app.getAclForUser(app.getAuthenticatedUser()).has_right_on_base(record.get_base_id(), 'cancmd') - or app.getAclForUser(app.getAuthenticatedUser()).has_preview_grant(record) %} -
- {% endif %} -
-
- {% endfor %} -
-
- - - diff --git a/templates/web/client/help.html.twig b/templates/web/client/help.html.twig deleted file mode 100644 index 690905e310..0000000000 --- a/templates/web/client/help.html.twig +++ /dev/null @@ -1,129 +0,0 @@ -{% if app['locale'] not in ['fr', 'en', 'us'] %} - {% set lng = 'fr' %} -{% else %} - {% set lng = app['locale'] %} -{% endif %} - -{% if lng == 'fr' %} -
-
La recherche s'effectue grâce à la boîte de dialogue qui se trouve en haut à gauche de l'écran. Sachez que vous pouvez utiliser les opérateurs ou caractères spéciaux suivants :
-
* , ? , ET , OU , SAUF , DANS , DERNIERS , TOUT    (ou AND , OR , EXCEPT , LAST , ALL)
- -
Caractères de troncature
- - - - - - - - - - -
auto* : "automobile", "automate", "autoroute", ...
?it : "délit", "débit", ...
- -
Visualiser toutes les photos / les dernières photos
- - - - - - - - - -
TOUT : toutes les photos des collections sélectionnées
LAST 20 : les 20 dernières photos archivées dans la base
- -
Recherche multicritères
- Vous pouvez affiner votre recherche avec les opérateurs : ET, OU, SAUF ou DANS
- - - - - - - - - - - - - - - - - -
sport ET automobile : photos comprenant les deux mots.
journal OU jt : photos comprenant un mot ou l'autre (ou les deux).
cannes SAUF festival : cannes, hors festival.
thalassa DANS titre : photos où le terme est au moins présent dans le titre, en évitant par exemple celles où le terme est uniquement cité dans la légende.
- -
-

Attention :

-

pour chercher une phrase contenant un des mots-clé ci-dessus,
utilisez les  guillemets  :

- "C dans l'air" - , "Et Dieu créa la femme" - , "bijou en or" - , "tout le sport" - , ... -
-
-{% elseif lng == 'en' or lng == 'us' %} -
-
The search can be made through a dialogue box which can be found up left of your screen. Please note that you can use the following specific characters or boolean operators :
-
* , ? , AND , OR , EXCEPT , IN, LAST , ALL
- -
Truncation characters :
- - - - - - - - - - -
autho* : "authority", "authorization", "autorized", ...
de?t : "debt", "dent", ...
- -
View all pictures / last documents :
- - - - - - - - - -
ALL : toutes les photos des collections sélectionnées
LAST 20 : The last 20 documents archived in database
- -
Multi criteria search :
- You can refine your search with the following operators : AND , OR , EXCEPT or IN
- - - - - - - - - - - - - - - - - -
sport AND cars : documents including both words.
new OR recent : documents including one word or the other (or both).
cannes EXCEPT festival : documents including the word « Cannes », except the word « festival »..
thalassa IN title : documents where the word is at least in the title, avoiding for instance the ones where the word is quoted in the caption only.
- -
-

Be careful :

-

To make a search in a sentence including one of the keywords above,
please use the quotation marks :

- "come and see" - , "except for" - , "at last" - , "all along" - , ... -
-
-{% endif %} diff --git a/templates/web/client/home_inter_pub_basket.html.twig b/templates/web/client/home_inter_pub_basket.html.twig deleted file mode 100644 index ac57eabc34..0000000000 --- a/templates/web/client/home_inter_pub_basket.html.twig +++ /dev/null @@ -1,118 +0,0 @@ -
-

-

{{ "publications:: dernieres publications" | trans }}

-
-
- -
- {% for entry in feeds.entries.slice(0, 5) %} -
-
-

- - {{ entry.getTitle() }} - -

- - {{ app['date-formatter'].getPrettyString(entry.getCreatedOn()) }} - {% if entry.getAuthorEmail() %} - - {{ entry.getAuthorName() }} - - {% if entry.getUpdatedOn() > entry.getCreatedOn() %} -
- - {{ "publications:: derniere mise a jour" | trans }} {{ app['date-formatter'].getPrettyString(entry.getUpdatedOn()) }} - -
-
- {% endif %} - {% endif %} -
-
-
-
- {% if entry.getSubtitle()|trim is not empty %} - {{ entry.getSubtitle()|nl2br }} - {% endif %} -
-
-
- {% for item in entry.getItems() %} - {% set record = item.getRecord(app) %} - {% set thumbnail = record.get_thumbnail() %} - {% set docType = record.get_type() %} - {% set duration = "" %} - - {% if thumbnail.get_height() > 0 %} - {% set ratio = thumbnail.get_width() / thumbnail.get_height() %} - {% else %} - {% set ratio = 1 %} - {% endif %} - - {% set wrapper_size = image_size + 30 %} - - {% set types = { - "isVideo" : (docType == "video" ? true : false), - "isAudio" : (docType == "audio" ? true : false), - "isImage" : (docType == "image" or (docType != "video" and docType != "audio") ? true : false) - } %} - - {% if types["isVideo"] or types["isAudio"] %} - {% set duration = record.get_formated_duration() %} - {% endif %} - - {% if ratio > 1 %} - {% set cw = [(image_size - 30), (thumbnail.get_width())]|min %} - {% set ch = cw / ratio %} - {% set pv = ((image_size - ch) / 2)|floor %} - {% set ph = ((image_size - cw) / 2)|floor %} - - {% set image_style %} - width:{{ cw }}px;xpadding:{{ pv }}px {{ ph }}px; - {% endset %} - {% else %} - {% set ch = [(image_size - 30), (thumbnail.get_height())]|min %} - {% set cw = ch * ratio %} - {% set pv = ((image_size - ch) / 2)|floor %} - {% set ph = ((image_size - cw) / 2)|floor %} - - {% set image_style %} - height:{{ ch }}px;xpadding:{{ pv }}px {{ ph }}px; - {% endset %} - {% endif %} - -
-
-
- {{ record.get_title() }} -
-
- - - - -
- {% if duration is not empty %} -
- {{ duration }} -
- {% endif %} - -
-
- - - - - -
-
  -
-
-
- {% endfor %} -
-
- {% endfor %} -
diff --git a/templates/web/client/index.html.twig b/templates/web/client/index.html.twig deleted file mode 100644 index e98ee0af6c..0000000000 --- a/templates/web/client/index.html.twig +++ /dev/null @@ -1,524 +0,0 @@ - - - {{ app['conf'].get(['registry', 'general', 'title']) }} Client - - - - - - - - {% if css_file %} - - {% endif %} - - - - - - - - - - - {% if app['phraseanet.configuration']['deprecate-client']|default(true) %} -
- -
- - {% endif %} -
- {% include 'common/menubar.html.twig' %} -
-
- -
- -
-
- -
- -
-
-
- -
-
- {{ 'boutton::fermer' | trans }} -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
- - - - - - - - - {% if app['conf'].get(['registry', 'general', 'analytics']) is not empty %} - - - - {% endif %} - - diff --git a/templates/web/common/dialog_export.html.twig b/templates/web/common/dialog_export.html.twig index 71011cd739..a391a88730 100644 --- a/templates/web/common/dialog_export.html.twig +++ b/templates/web/common/dialog_export.html.twig @@ -247,7 +247,7 @@ {% endif %}
- +
@@ -401,7 +401,7 @@
- +
@@ -482,9 +482,9 @@
- + - +
@@ -494,10 +494,10 @@ $('#ftp .ftp_form').hide(); $('#ftp .ftp_form_'+$(this).val()).show(); $('.ftp_folder_check', p4.Dialog.get(1).getDomElement()).unbind('change').bind('change', function(){ - if($(this).attr('checked')) - $(this).next().removeAttr('disabled'); + if($(this).prop('checked')) + $(this).next().prop('disabled',false); else - $(this).next().attr('disabled','disabled'); + $(this).next().prop('disabled',true); }); }).trigger('change'); }); @@ -511,7 +511,7 @@ function check_TOU(container) { var checkbox = $('input[name="TOU_accept"]', $(container)); - var go = checkbox.length === 0 || checkbox.attr('checked'); + var go = checkbox.length === 0 || checkbox.prop('checked'); if(!go) { @@ -538,7 +538,7 @@ var go = required = false; $('input[name="obj[]"]', $(container)).each(function(){ - if($(this).attr('checked')) + if($(this).prop('checked')) { go = true; } @@ -618,14 +618,14 @@ dialog.Close(); }); - define([ + /*define([ "common/geonames" ], function (geonames) { geonames.init($('#command_geoname_field'), { "server": "{{ app['geonames.server-uri'] }}", "limit": 40 }); - }); + });*/ @@ -689,11 +689,11 @@ var options = $('#order form').serialize(); var $this = $(this); - $this.attr('disabled', true).addClass('disabled'); + $this.prop('disabled', true).addClass('disabled'); $.post("../prod/order/" , options , function(data){ - $this.attr('disabled', false).removeClass('disabled'); + $this.prop('disabled', false).removeClass('disabled'); $('#order .order_button_loader').css('visibility','hidden'); @@ -742,11 +742,11 @@ var options_addr = $('#ftp_form_stock form:visible').serialize(); var options_join = $('#ftp_joined').serialize(); - $this.attr('disabled','disabled'); + $this.prop('disabled',true); $.post("../prod/export/ftp/" , options_addr + '&' + options_join , function(data){ - $this.removeAttr('disabled'); + $this.prop('disabled', false); $('#ftp .ftp_button_loader').hide(); if(data.success) { @@ -771,7 +771,7 @@ $('#ftp .tryftp_button').bind('click',function(){ $('#ftp .tryftp_button_loader').css('visibility','visible'); var $this = $(this); - $this.attr('disabled','disabled'); + $this.prop('disabled',true) var options_addr = $('#ftp_form_stock form:visible').serialize(); $.post("../prod/export/ftp/test/" @@ -787,7 +787,7 @@ p4.Dialog.Create(options, 3).setContent(data.message); - $this.removeAttr('disabled'); + $this.prop('disabled', false); return; } diff --git a/templates/web/common/index_bootstrap.html.twig b/templates/web/common/index_bootstrap.html.twig index f031216e9e..7b68ab72ec 100644 --- a/templates/web/common/index_bootstrap.html.twig +++ b/templates/web/common/index_bootstrap.html.twig @@ -1,32 +1,35 @@ + + + + {% if local_title is defined%}{{local_title}} | {% endif %}{{ app['conf'].get(['registry', 'general', 'title']) }} {% if module_name is defined %} - {{ module_name }} {% endif %} + {% block icon %}{% endblock %} - - - - - - + {##} + + {% block stylesheet %}{% endblock %} - - + + + + - + - {% block stylesheet %}{% endblock %} - {% block icon %}{% endblock %} {% block rss %}{% endblock %} {% block javascript %}{% endblock %} @@ -38,6 +41,7 @@ {% block extra_content %}{% endblock %} + {% block bodyJavascript %}{% endblock %} {% include 'common/analytics.html.twig' %} diff --git a/templates/web/common/indexfloat.html.twig b/templates/web/common/indexfloat.html.twig index b4b071eafb..3858296efd 100644 --- a/templates/web/common/indexfloat.html.twig +++ b/templates/web/common/indexfloat.html.twig @@ -3,7 +3,7 @@ {% if local_title is defined%}{{local_title}} | {% endif %}{{ app['conf'].get(['registry', 'general', 'title']) }} - {{ module_name }} - + {% block stylesheet %}{% endblock %} {% block icon %}{% endblock %} {% block rss %}{% endblock %} @@ -11,13 +11,13 @@ -
+
{% include 'common/menubar.html.twig' %} -
-
+ +
{% block content %}{% endblock %}
-
+
{% include 'common/analytics.html.twig' %} diff --git a/templates/web/common/menubar.html.twig b/templates/web/common/menubar.html.twig index bc524865b3..6bc3119f86 100644 --- a/templates/web/common/menubar.html.twig +++ b/templates/web/common/menubar.html.twig @@ -1,15 +1,15 @@ -