diff --git a/src/cadolesuser-1.0/app/AppKernel.php b/src/cadolesuser-1.0/app/AppKernel.php index 8abbb972..56314d7d 100644 --- a/src/cadolesuser-1.0/app/AppKernel.php +++ b/src/cadolesuser-1.0/app/AppKernel.php @@ -27,7 +27,8 @@ class AppKernel extends Kernel new Ivory\CKEditorBundle\IvoryCKEditorBundle(), new LightSaml\SymfonyBridgeBundle\LightSamlSymfonyBridgeBundle(), new LightSaml\SpBundle\LightSamlSpBundle(), - + new Debril\RssAtomBundle\DebrilRssAtomBundle(), + new AppBundle\AppBundle(), new Cadoles\SAMLBundle\CadolesSAMLBundle(), diff --git a/src/cadolesuser-1.0/app/config/config.yml b/src/cadolesuser-1.0/app/config/config.yml index d7fffc0c..83d6bdcc 100644 --- a/src/cadolesuser-1.0/app/config/config.yml +++ b/src/cadolesuser-1.0/app/config/config.yml @@ -12,6 +12,14 @@ imports: parameters: locale: fr +monolog: + handlers: + main: + type: rotating_file + path: '%kernel.logs_dir%/%kernel.environment%.log' + level: debug + max_files: 10 + framework: #esi: ~ #translator: { fallbacks: ['%locale%'] } @@ -80,7 +88,14 @@ oneup_uploader: frontend: dropzone # or any uploader you use in the frontend icon: frontend: dropzone # or any uploader you use in the frontend - + slide: + frontend: dropzone # or any uploader you use in the frontend + file: + frontend: dropzone # or any uploader you use in the frontend + namer: cadoles.core.upload.namer.same + storage: + directory: "%kernel.root_dir%/../uploads/file" + # gregwar captcha configuration gregwar_captcha: ~ diff --git a/src/cadolesuser-1.0/app/config/template.yml b/src/cadolesuser-1.0/app/config/template.yml index 9bc6920c..a0262654 100644 --- a/src/cadolesuser-1.0/app/config/template.yml +++ b/src/cadolesuser-1.0/app/config/template.yml @@ -17,14 +17,14 @@ parameters: # none = désactivation de l'inscription mais reset de password possible # byuser = aucune validation par un administrateur, l'utilisateur valide son inscription par lui-même # byadmin = validation de l'inscription par un administrateur, sauf si domaine de messagerie dans la liste blanche - moderegistration: byadmin + moderegistration: none # Activation module cron_activate: true portal_activate: true - + # Information de base de l'annuaire - ldap_host: 172.27.7.61 + ldap_host: 127.0.0.1 ldap_port: 389 ldap_user: cn=admin,o=gouv,c=fr ldap_password: eole diff --git a/src/cadolesuser-1.0/composer.json b/src/cadolesuser-1.0/composer.json index 6b6531d8..e066ca3b 100644 --- a/src/cadolesuser-1.0/composer.json +++ b/src/cadolesuser-1.0/composer.json @@ -15,6 +15,7 @@ }, "require": { "php": ">=7", + "debril/rss-atom-bundle": "^4.0", "doctrine/doctrine-bundle": "^1.6", "doctrine/doctrine-cache-bundle": "^1.2", "doctrine/doctrine-fixtures-bundle": "^2.3", diff --git a/src/cadolesuser-1.0/composer.lock b/src/cadolesuser-1.0/composer.lock index 475a9b28..d0561c66 100644 --- a/src/cadolesuser-1.0/composer.lock +++ b/src/cadolesuser-1.0/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "d4a96daf4f90dcf6a4600e1c27ff55a9", - "content-hash": "9f299842b28bb339e4fc9422b33fc2ec", + "hash": "2a3f597051554e40aa4b6ba10405d656", + "content-hash": "04339c394373f4030131258933c232ea", "packages": [ { "name": "composer/ca-bundle", @@ -63,6 +63,122 @@ ], "time": "2019-01-28 09:30:10" }, + { + "name": "debril/feed-io", + "version": "v3.1.3", + "source": { + "type": "git", + "url": "https://github.com/alexdebril/feed-io.git", + "reference": "a0035d9bfe7c9ac1333242447fab781ae89fe8af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alexdebril/feed-io/zipball/a0035d9bfe7c9ac1333242447fab781ae89fe8af", + "reference": "a0035d9bfe7c9ac1333242447fab781ae89fe8af", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "~6.2", + "php": ">=5.6.0", + "psr/log": "~1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.4", + "monolog/monolog": "1.*", + "phpunit/phpunit": "~5.6.0" + }, + "suggest": { + "monolog/monolog": "Allows to handle logs", + "symfony/console": "Allows to use the command line interface" + }, + "bin": [ + "bin/feedio" + ], + "type": "library", + "autoload": { + "psr-4": { + "FeedIo\\": "src/FeedIo" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexandre Debril", + "email": "alex.debril@gmail.com" + } + ], + "description": "PHP library built to consume and serve JSONFeed / RSS / Atom feeds", + "homepage": "https://feed-io.net", + "keywords": [ + "atom", + "cli", + "client", + "feed", + "jsonfeed", + "news", + "rss" + ], + "time": "2019-03-11 15:08:14" + }, + { + "name": "debril/rss-atom-bundle", + "version": "v4.1.1", + "target-dir": "Debril/RssAtomBundle", + "source": { + "type": "git", + "url": "https://github.com/alexdebril/rss-atom-bundle.git", + "reference": "49bcc3e5f2baef47374bf07c7535dc4aca6573ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alexdebril/rss-atom-bundle/zipball/49bcc3e5f2baef47374bf07c7535dc4aca6573ef", + "reference": "49bcc3e5f2baef47374bf07c7535dc4aca6573ef", + "shasum": "" + }, + "require": { + "debril/feed-io": "~3.0|~4.0", + "php": ">=5.6", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/framework-bundle": "~3.4|~4.0", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/http-kernel": "~3.4|~4.0" + }, + "require-dev": { + "doctrine/common": "~2.3", + "doctrine/doctrine-bundle": "~1.2", + "phpunit/phpunit": "~5.5", + "symfony/browser-kit": ">3.0", + "symfony/finder": ">3.0", + "symfony/validator": ">3.0" + }, + "suggest": { + "doctrine/doctrine-bundle": "allow to provide feeds' content from database" + }, + "type": "symfony-bundle", + "autoload": { + "psr-0": { + "Debril\\RssAtomBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "RSS / Atom and JSONFeed support for Symfony", + "homepage": "http://debril.org/category/rss-atom-bundle/", + "keywords": [ + "Syndication", + "atom", + "feed", + "jsonfeed", + "rss" + ], + "time": "2018-01-12 23:30:55" + }, { "name": "doctrine/annotations", "version": "v1.4.0", @@ -1373,6 +1489,189 @@ ], "time": "2018-11-20 10:41:34" }, + { + "name": "guzzlehttp/guzzle", + "version": "6.3.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.3-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2018-04-22 15:46:56" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20 10:07:11" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.5.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "9f83dded91781a01c63574e387eaa769be769115" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115", + "reference": "9f83dded91781a01c63574e387eaa769be769115", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2018-12-04 20:46:45" + }, { "name": "incenteev/composer-parameter-handler", "version": "v2.1.3", @@ -2183,6 +2482,56 @@ ], "time": "2017-02-14 16:28:37" }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06 14:39:51" + }, { "name": "psr/link", "version": "1.0.0", @@ -2327,6 +2676,46 @@ ], "time": "2017-10-23 01:57:42" }, + { + "name": "ralouphie/getallheaders", + "version": "2.0.5", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7.0", + "satooshi/php-coveralls": ">=1.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "time": "2016-02-11 07:05:27" + }, { "name": "ramsey/uuid", "version": "3.8.0", @@ -2833,16 +3222,16 @@ }, { "name": "symfony/polyfill-apcu", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-apcu.git", - "reference": "19e1b73bf255265ad0b568f81766ae2a3266d8d2" + "reference": "a502face1da6a53289480166f24de2c3c68e5c3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/19e1b73bf255265ad0b568f81766ae2a3266d8d2", - "reference": "19e1b73bf255265ad0b568f81766ae2a3266d8d2", + "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/a502face1da6a53289480166f24de2c3c68e5c3c", + "reference": "a502face1da6a53289480166f24de2c3c68e5c3c", "shasum": "" }, "require": { @@ -2851,7 +3240,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -2885,20 +3274,20 @@ "portable", "shim" ], - "time": "2018-08-06 14:22:27" + "time": "2019-02-06 07:57:58" }, { "name": "symfony/polyfill-ctype", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" + "reference": "82ebae02209c21113908c229e9883c419720738a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a", + "reference": "82ebae02209c21113908c229e9883c419720738a", "shasum": "" }, "require": { @@ -2910,7 +3299,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -2932,7 +3321,7 @@ }, { "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "email": "backendtea@gmail.com" } ], "description": "Symfony polyfill for ctype functions", @@ -2943,20 +3332,20 @@ "polyfill", "portable" ], - "time": "2018-08-06 14:22:27" + "time": "2019-02-06 07:57:58" }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "f22a90256d577c7ef7efad8df1f0201663d57644" + "reference": "999878a3a09d73cae157b0cf89bb6fb2cc073057" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/f22a90256d577c7ef7efad8df1f0201663d57644", - "reference": "f22a90256d577c7ef7efad8df1f0201663d57644", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/999878a3a09d73cae157b0cf89bb6fb2cc073057", + "reference": "999878a3a09d73cae157b0cf89bb6fb2cc073057", "shasum": "" }, "require": { @@ -3001,20 +3390,20 @@ "portable", "shim" ], - "time": "2018-08-06 14:22:27" + "time": "2019-01-07 19:39:47" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609", + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609", "shasum": "" }, "require": { @@ -3026,7 +3415,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -3060,20 +3449,20 @@ "portable", "shim" ], - "time": "2018-09-21 13:07:52" + "time": "2019-02-06 07:57:58" }, { "name": "symfony/polyfill-php56", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "ff208829fe1aa48ab9af356992bb7199fed551af" + "reference": "f4dddbc5c3471e1b700a147a20ae17cdb72dbe42" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/ff208829fe1aa48ab9af356992bb7199fed551af", - "reference": "ff208829fe1aa48ab9af356992bb7199fed551af", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/f4dddbc5c3471e1b700a147a20ae17cdb72dbe42", + "reference": "f4dddbc5c3471e1b700a147a20ae17cdb72dbe42", "shasum": "" }, "require": { @@ -3083,7 +3472,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -3116,20 +3505,20 @@ "portable", "shim" ], - "time": "2018-09-21 06:26:08" + "time": "2019-02-06 07:57:58" }, { "name": "symfony/polyfill-php70", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224" + "reference": "bc4858fb611bda58719124ca079baff854149c89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/6b88000cdd431cd2e940caa2cb569201f3f84224", - "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/bc4858fb611bda58719124ca079baff854149c89", + "reference": "bc4858fb611bda58719124ca079baff854149c89", "shasum": "" }, "require": { @@ -3139,7 +3528,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -3175,20 +3564,20 @@ "portable", "shim" ], - "time": "2018-09-21 06:26:08" + "time": "2019-02-06 07:57:58" }, { "name": "symfony/polyfill-util", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-util.git", - "reference": "3b58903eae668d348a7126f999b0da0f2f93611c" + "reference": "b46c6cae28a3106735323f00a0c38eccf2328897" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/3b58903eae668d348a7126f999b0da0f2f93611c", - "reference": "3b58903eae668d348a7126f999b0da0f2f93611c", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/b46c6cae28a3106735323f00a0c38eccf2328897", + "reference": "b46c6cae28a3106735323f00a0c38eccf2328897", "shasum": "" }, "require": { @@ -3197,7 +3586,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -3227,7 +3616,7 @@ "polyfill", "shim" ], - "time": "2018-09-30 16:36:12" + "time": "2019-02-08 14:16:39" }, { "name": "symfony/swiftmailer-bundle", @@ -3492,16 +3881,16 @@ }, { "name": "twig/twig", - "version": "v2.7.3", + "version": "v2.7.4", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "52b9a5bd41c8c53a1d784f90ca25e33bf558a6b3" + "reference": "ed9c49220e09bfaeb1ba4d48077c08a7b09908dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/52b9a5bd41c8c53a1d784f90ca25e33bf558a6b3", - "reference": "52b9a5bd41c8c53a1d784f90ca25e33bf558a6b3", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/ed9c49220e09bfaeb1ba4d48077c08a7b09908dd", + "reference": "ed9c49220e09bfaeb1ba4d48077c08a7b09908dd", "shasum": "" }, "require": { @@ -3555,7 +3944,7 @@ "keywords": [ "templating" ], - "time": "2019-03-21 14:53:02" + "time": "2019-03-23 14:28:58" }, { "name": "zendframework/zend-code", diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/PurgeRegistrationCommand.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/PurgeRegistrationCommand.php index 8036b2dc..211b26fc 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/PurgeRegistrationCommand.php +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/PurgeRegistrationCommand.php @@ -6,6 +6,7 @@ use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Finder\Finder; +use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\HttpKernel\KernelInterface; use Doctrine\DBAL\Connection as DBALConnection; use Doctrine\ORM\EntityManager; @@ -18,6 +19,8 @@ class PurgeRegistrationCommand extends Command private $container; private $em; private $output; + private $filesystem; + private $rootlog; protected function configure() { @@ -35,15 +38,17 @@ class PurgeRegistrationCommand extends Command $this->container = $this->getApplication()->getKernel()->getContainer(); $this->em = $this->container->get('doctrine')->getEntityManager(); $this->output = $output; + $this->filesystem = new Filesystem(); + $this->rootlog = $this->container->get('kernel')->getRootDir()."/../var/logs/"; $this->writelnred(''); $this->writelnred('== Core:PurgeRegistration'); - $this->writelnred('====================================================='); + $this->writelnred('=========================================================================================================='); $now=new \DateTime('now'); - $output->writeln(''); - $output->writeln('== PURGE OBSOLETE REGISTRATION ======================'); + $this->writeln(''); + $this->writeln('== PURGE OBSOLETE REGISTRATION ======================'); $datas = $this->em ->createQueryBuilder() @@ -61,8 +66,15 @@ class PurgeRegistrationCommand extends Command $this->writeln(''); + return 1; } - private function writelnred($string) { $this->output->writeln(''.$string.''); } - private function writeln($string) { $this->output->writeln($string); } + private function writelnred($string) { + $this->output->writeln(''.$string.''); + $this->filesystem->appendToFile($this->rootlog.'cron.log', $string."\n"); + } + private function writeln($string) { + $this->output->writeln($string); + $this->filesystem->appendToFile($this->rootlog.'cron.log', $string."\n"); + } } diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/SynchroCommand.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/SynchroCommand.php index 66617845..c2ca15b0 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/SynchroCommand.php +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/SynchroCommand.php @@ -6,6 +6,7 @@ use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Finder\Finder; +use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\HttpKernel\KernelInterface; use Doctrine\DBAL\Connection as DBALConnection; use Doctrine\ORM\EntityManager; @@ -24,6 +25,8 @@ class SynchroCommand extends Command private $container; private $em; private $output; + private $filesystem; + private $rootlog; protected function configure() { @@ -42,10 +45,12 @@ class SynchroCommand extends Command $this->container = $this->getApplication()->getKernel()->getContainer(); $this->em = $this->container->get('doctrine')->getEntityManager(); $this->output = $output; + $this->filesystem = new Filesystem(); + $this->rootlog = $this->container->get('kernel')->getRootDir()."/../var/logs/"; $this->writelnred(''); $this->writelnred('== Core:Synchro'); - $this->writelnred('====================================================='); + $this->writelnred('=========================================================================================================='); setlocale( LC_CTYPE, 'fr_FR' ); $labelniveau01 = mb_strtoupper($this->container->getParameter('labelniveau01')); @@ -606,11 +611,17 @@ class SynchroCommand extends Command } $this->writeln(''); - $this->writeln(''); + return 1; } - private function writelnred($string) { $this->output->writeln(''.$string.''); } - private function writeln($string) { $this->output->writeln($string); } + private function writelnred($string) { + $this->output->writeln(''.$string.''); + $this->filesystem->appendToFile($this->rootlog.'cron.log', $string."\n"); + } + private function writeln($string) { + $this->output->writeln($string); + $this->filesystem->appendToFile($this->rootlog.'cron.log', $string."\n"); + } protected function addmodGroup($label,$ldapfilter) { diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql index 865d2972..699d0248 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql @@ -14,25 +14,24 @@ INSERT IGNORE INTO `user` (`id`, `niveau01_id`, `username`, `firstname`, `lastna TRUNCATE TABLE sidebar; INSERT IGNORE INTO `sidebar` (`id`, `parent_id`, `roworder`, `label`, `path`, `fonticon`, `permission`, `appactivate`) VALUES -(1000, NULL, 1000, 'CONFIGIRATION', '', 'fa-gear', 'ROLE_ADMIN,ROLE_MODO',''), -(1010, 1000, 1010, 'Générale', 'cadoles_core_config_commun', 'fa-table', 'ROLE_ADMIN',''), -(1200, NULL, 1200, 'ORGANISATION', NULL, 'fa-sitemap', 'ROLE_ADMIN,ROLE_MODO',''), -(1210, 1200, 1210, 'Listes Blanche', 'cadoles_core_config_whitelist', 'fa-tasks', 'ROLE_ADMIN',''), -(1220, 1200, 1220, 'Niveau 01', 'cadoles_core_config_niveau01', 'fa-building', 'ROLE_ADMIN',''), -(1240, 1200, 1240, 'Groupes', 'cadoles_core_config_group', 'fa-users', 'ROLE_ADMIN,ROLE_MODO',''), -(1250, 1200, 1250, 'Inscriptions', 'cadoles_core_config_registration', 'fa-pencil-square-o', 'ROLE_ADMIN,ROLE_MODO',''), -(1260, 1200, 1260, 'Utilisateurs', 'cadoles_core_config_user', 'fa-child', 'ROLE_ADMIN,ROLE_MODO',''), - -(1500, NULL, 1500, 'PORTAIL', NULL, 'fa-cubes', 'ROLE_ADMIN,ROLE_MODO','portal_activate'), -(1510, 1500, 1510, 'Icônes', 'cadoles_portal_config_icon', 'fa-bug', 'ROLE_ADMIN,ROLE_MODO','portal_activate'), -(1520, 1500, 1520, 'Items', 'cadoles_portal_config_item', 'fa-desktop', 'ROLE_ADMIN,ROLE_MODO','portal_activate'), -(1530, 1500, 1530, 'Annonces', 'cadoles_portal_config_alert', 'fa-bell', 'ROLE_ADMIN,ROLE_MODO','portal_activate'), -(1540, 1500, 1540, 'Pages', 'cadoles_portal_config_page', 'fa-file', 'ROLE_ADMIN,ROLE_MODO','portal_activate'), - -(7000, NULL, 7000, 'CRON', NULL, 'fa-bolt', 'ROLE_ADMIN,ROLE_MODO', 'cron_activate'), -(7010, 7000, 7010, 'Jobs', 'cadoles_cron_config', 'fa-bullseye', 'ROLE_ADMIN,ROLE_MODO', 'cron_activate'); +(1000, NULL, 1000, 'CONFIGIRATION', '', 'fa-gear', 'ROLE_ADMIN,ROLE_MODO', ''), +(1010, 1000, 1010, 'Générale', 'cadoles_core_config_commun', 'fa-table', 'ROLE_ADMIN', ''), +(1200, NULL, 1200, 'ORGANISATION', NULL, 'fa-sitemap', 'ROLE_ADMIN,ROLE_MODO', ''), +(1210, 1200, 1210, 'Listes Blanche', 'cadoles_core_config_whitelist', 'fa-tasks', 'ROLE_ADMIN', ''), +(1220, 1200, 1220, 'Niveau 01', 'cadoles_core_config_niveau01', 'fa-building', 'ROLE_ADMIN', ''), +(1240, 1200, 1240, 'Groupes', 'cadoles_core_config_group', 'fa-users', 'ROLE_ADMIN,ROLE_MODO', ''), +(1250, 1200, 1250, 'Inscriptions', 'cadoles_core_config_registration', 'fa-pencil-square-o', 'ROLE_ADMIN,ROLE_MODO', ''), +(1260, 1200, 1260, 'Utilisateurs', 'cadoles_core_config_user', 'fa-child', 'ROLE_ADMIN,ROLE_MODO', ''), +(1500, NULL, 1500, 'PORTAIL', NULL, 'fa-cubes', 'ROLE_ADMIN,ROLE_MODO', 'portal_activate'), +(1510, 1500, 1510, 'Icônes', 'cadoles_portal_config_icon', 'fa-bug', 'ROLE_ADMIN,ROLE_MODO', 'portal_activate'), +(1520, 1500, 1520, 'Items', 'cadoles_portal_config_item', 'fa-desktop', 'ROLE_ADMIN,ROLE_MODO', 'portal_activate'), +(1530, 1500, 1530, 'Annonces', 'cadoles_portal_config_alert', 'fa-bell', 'ROLE_ADMIN,ROLE_MODO', 'portal_activate'), +(1540, 1500, 1540, 'Pages', 'cadoles_portal_config_page', 'fa-file', 'ROLE_ADMIN,ROLE_MODO', 'portal_activate'), +(7000, NULL, 7000, 'CRON', NULL, 'fa-bolt', 'ROLE_ADMIN', 'cron_activate'), +(7010, 7000, 7010, 'Jobs', 'cadoles_cron_config', 'fa-bullseye', 'ROLE_ADMIN', 'cron_activate'), +(7020, 7000, 7020, 'Logs', 'cadoles_cron_config_log', 'fa-list-alt', 'ROLE_ADMIN', 'cron_activate'); diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/CoreController.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/CoreController.php index 060d4e36..629f4dd8 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/CoreController.php +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/CoreController.php @@ -6,15 +6,53 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Session\Session; +use Cadoles\PortalBundle\Entity\Page; + class CoreController extends Controller { public function homeAction(Request $request) { - $framed=$request->query->get('framed'); - return $this->render('CadolesCoreBundle:Core:home.html.twig',[ - 'useheader' => true, - 'usemenu' => false, - 'usesidebar' => false, - ]); + $portal_activate=$this->getParameter("portal_activate"); + if(!$portal_activate) { + return $this->render('CadolesCoreBundle:Core:home.html.twig',[ + 'useheader' => true, + 'usemenu' => false, + 'usesidebar' => false, + ]); + } + else { + $em = $this->getDoctrine()->getManager(); + + // Récupération de la page encours + $id = $request->query->get('id'); + + // L'utilisateur en cours + $user=$this->getUser(); + + // Calcul des pages de l'utilisateur + $this->getDoctrine()->getRepository("CadolesPortalBundle:Page")->getPagesUser($user,$id,$entity,$pagesuser,$pagesadmin,$pagesshared); + + // si aucune page = page par défaut + if(!$entity) { + return $this->render('CadolesPortalBundle:Page:default.html.twig',[ + 'useheader' => true, + 'usemenu' => false, + 'usesidebar' => false, + ]); + } + + return $this->render('CadolesPortalBundle:Page:pages.html.twig', [ + 'useheader' => true, + 'usemenu' => true, + 'usesidebar' => false, + 'entity' => $entity, + 'access' => "user", + 'pagesadmin' => $pagesadmin, + 'pagesuser' => $pagesuser, + 'canadd' => ($user), + 'widgets' => $this->getDoctrine()->getRepository("CadolesPortalBundle:Widget")->findAll() + ]); + } + } } diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/FileController.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/FileController.php new file mode 100644 index 00000000..afdb8086 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/FileController.php @@ -0,0 +1,186 @@ +render('CadolesCoreBundle:File:upload.html.twig',[ + 'useheader' => false, + 'usemenu' => false, + 'usesidebar' => false, + 'access' => $access, + 'id' => $id, + 'type' => $type, + ]); + } + + public function deleteAction(Request $request,$access="config") + { + // S'assurer que c'est un appel ajax + if (!$request->isXmlHttpRequest()) { + return new JsonResponse(array('message' => 'Interdit'), 400); + } + + $output=array(); + $directory=$request->request->get('directory'); + $filename=$request->request->get('filename'); + + $this->getPermission($access,$directory); + $fs = new Filesystem(); + $url=$this->get('kernel')->getRootDir()."/../uploads/file/".$directory."/".$filename; + if($fs->exists($url)) { + $fs->remove($url); + } + + $response = new Response(json_encode($output)); + $response->headers->set('Content-Type', 'application/json'); + return $response; + } + + public function viewAction($directory,$filename,Request $request,$access="config") + { + $this->getPermission($access,$directory); + + $navigation = $request->query->get('navigation'); + $tbprev=[]; + $tbnext=[]; + + $url=$this->get('kernel')->getRootDir()."/../uploads/file/".$directory."/".$filename; + $file = new file($url); + + + $minetype=$file->getMimeType(); + $minefamily=explode("/",$minetype)[0]; + + if($minefamily=="text" || $minefamily=="image" || $minetype == "application/pdf") { + $image=""; + if($minefamily=="image") { + $image = "data:image/" . $file->getExtension() . ";base64," . base64_encode(file_get_contents($url)); + + if($navigation) { + $dir=$this->get('kernel')->getRootDir()."/../uploads/file/".$directory; + $files=[]; + $fs = new Filesystem(); + + if($fs->exists($dir)) { + $finder = new Finder(); + $finder->sortByName()->in($dir)->exclude('thumb'); + + $i=-1; + + + foreach ($finder as $key => $file) { + $i++; + + if($file->getRelativePathname()==$filename) { + $keyprev=$i-1; + $keynext=$i+1; + } + + $tmp=[]; + $tmp["name"]=$file->getRelativePathname(); + $tmp["extension"]=$file->getExtension(); + $fileinfo = new file($file->getPathname()); + $tmp["minetype"]=$fileinfo->getMimeType(); + $tmp["minefamily"]=explode("/",$tmp["minetype"])[0]; + + $tmp["thumb"]=""; + if($fs->exists($dir."/thumb/".$tmp["name"])) { + $data = file_get_contents($dir."/thumb/".$tmp["name"]); + $tmp["thumb"]="data:image/" . $tmp["extension"] . ";base64," . base64_encode($data); + } + + array_push($files,$tmp); + } + + if(array_key_exists($keyprev,$files)) + $tbprev=$files[$keyprev]; + if(array_key_exists($keynext,$files)) + $tbnext=$files[$keynext]; + } + } + } + + return $this->render('CadolesCoreBundle:File:view.html.twig',[ + 'useheader' => false, + 'usemenu' => false, + 'usesidebar' => false, + 'access' => $access, + 'directory' => $directory, + 'minefamily' => $minefamily, + 'minetype' => $minetype, + 'filename' => $filename, + 'image' => $image, + 'prev' => $tbprev, + 'next' => $tbnext + ]); + } + else { + // normalement le widget ne fait jamais passer par là + $response = new BinaryFileResponse($file); + $response->setContentDisposition(ResponseHeaderBag::DISPOSITION_INLINE); + + return $response; + } + } + + public function showAction($directory,$filename,$access="config") + { + $this->getPermission($access,$directory); + + $file=$this->get('kernel')->getRootDir()."/../uploads/file/".$directory."/".$filename; + + $response = new BinaryFileResponse($file); + $response->setContentDisposition(ResponseHeaderBag::DISPOSITION_INLINE); + + return $response; + } + + public function downloadAction($directory,$filename,$access="config") + { + $this->getPermission($access,$directory); + + $file=$this->get('kernel')->getRootDir()."/../uploads/file/".$directory."/".$filename; + + $response = new BinaryFileResponse($file); + $response->setContentDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT); + + return $response; + } + + public function getPermission($access, $directory) { + if($access=="user") { + $em = $this->getDoctrine()->getManager(); + + $type=explode("-",$directory)[0]; + $id=explode("-",$directory)[1]; + + switch($type) { + case "widget": + // Récupération du widget + $widget=$em->getRepository("CadolesPortalBundle:Pagewidget")->find($id); + if (!$widget) throw $this->createNotFoundException('Unable to find entity.'); + + // On s'assure que l'utilisateur à la permission de voir + $page=$widget->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); + break; + } + } + } +} diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php index 98c2d0f8..b4ec3dec 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php @@ -62,6 +62,11 @@ class Group */ private $users; + /** + * @ORM\ManyToMany(targetEntity="Cadoles\PortalBundle\Entity\Page", mappedBy="groups") + */ + protected $pages; + /** * @ORM\ManyToMany(targetEntity="Cadoles\PortalBundle\Entity\Item", mappedBy="groups") */ @@ -72,13 +77,23 @@ class Group */ protected $alerts; + + /** + * @ORM\ManyToMany(targetEntity="Cadoles\PortalBundle\Entity\Flux", mappedBy="groups") + */ + protected $fluxs; + + /** * Constructor */ public function __construct() { $this->users = new \Doctrine\Common\Collections\ArrayCollection(); + $this->pages = new \Doctrine\Common\Collections\ArrayCollection(); $this->items = new \Doctrine\Common\Collections\ArrayCollection(); + $this->alerts = new \Doctrine\Common\Collections\ArrayCollection(); + $this->fluxs = new \Doctrine\Common\Collections\ArrayCollection(); } /** @@ -269,6 +284,40 @@ class Group return $this->users; } + /** + * Add page + * + * @param \Cadoles\PortalBundle\Entity\Alert $page + * + * @return Group + */ + public function addPage(\Cadoles\PortalBundle\Entity\Alert $page) + { + $this->pages[] = $page; + + return $this; + } + + /** + * Remove page + * + * @param \Cadoles\PortalBundle\Entity\Alert $page + */ + public function removePage(\Cadoles\PortalBundle\Entity\Alert $page) + { + $this->pages->removeElement($page); + } + + /** + * Get pages + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getPages() + { + return $this->pages; + } + /** * Add item * @@ -336,4 +385,38 @@ class Group { return $this->alerts; } + + /** + * Add flux + * + * @param \Cadoles\PortalBundle\Entity\Flux $flux + * + * @return Group + */ + public function addFlux(\Cadoles\PortalBundle\Entity\Flux $flux) + { + $this->fluxs[] = $flux; + + return $this; + } + + /** + * Remove flux + * + * @param \Cadoles\PortalBundle\Entity\Flux $flux + */ + public function removeFlux(\Cadoles\PortalBundle\Entity\Flux $flux) + { + $this->fluxs->removeElement($flux); + } + + /** + * Get fluxs + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getFluxs() + { + return $this->fluxs; + } } diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php index dec78c92..ac6f6418 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php @@ -187,6 +187,21 @@ class User implements UserInterface, \Serializable */ private $modos; + /** + * @var ArrayCollection $page + * @var Page + * + * @ORM\OneToMany(targetEntity="Cadoles\PortalBundle\Entity\Page", mappedBy="user", cascade={"persist"}, orphanRemoval=true) + */ + private $pages; + + /** + * @var ArrayCollection $bookmark + * @var Bookmark + * + * @ORM\OneToMany(targetEntity="Cadoles\PortalBundle\Entity\Bookmark", mappedBy="user", cascade={"persist"}, orphanRemoval=true) + */ + private $bookmarks; //== CODE A NE PAS REGENERER /** @@ -721,6 +736,54 @@ class User implements UserInterface, \Serializable return $this->position; } + /** + * Set keyexpire + * + * @param \DateTime $keyexpire + * + * @return User + */ + public function setKeyexpire($keyexpire) + { + $this->keyexpire = $keyexpire; + + return $this; + } + + /** + * Get keyexpire + * + * @return \DateTime + */ + public function getKeyexpire() + { + return $this->keyexpire; + } + + /** + * Set keyvalue + * + * @param string $keyvalue + * + * @return User + */ + public function setKeyvalue($keyvalue) + { + $this->keyvalue = $keyvalue; + + return $this; + } + + /** + * Get keyvalue + * + * @return string + */ + public function getKeyvalue() + { + return $this->keyvalue; + } + /** * Set belongingpopulation * @@ -910,50 +973,70 @@ class User implements UserInterface, \Serializable } /** - * Set keyexpire + * Add page * - * @param \DateTime $keyexpire + * @param \Cadoles\PortalBundle\Entity\Page $page * * @return User */ - public function setKeyexpire($keyexpire) + public function addPage(\Cadoles\PortalBundle\Entity\Page $page) { - $this->keyexpire = $keyexpire; + $this->pages[] = $page; return $this; } /** - * Get keyexpire + * Remove page * - * @return \DateTime + * @param \Cadoles\PortalBundle\Entity\Page $page */ - public function getKeyexpire() + public function removePage(\Cadoles\PortalBundle\Entity\Page $page) { - return $this->keyexpire; + $this->pages->removeElement($page); } /** - * Set keyvalue + * Get pages * - * @param string $keyvalue + * @return \Doctrine\Common\Collections\Collection + */ + public function getPages() + { + return $this->pages; + } + + /** + * Add bookmark + * + * @param \Cadoles\PortalBundle\Entity\Bookmark $bookmark * * @return User */ - public function setKeyvalue($keyvalue) + public function addBookmark(\Cadoles\PortalBundle\Entity\Bookmark $bookmark) { - $this->keyvalue = $keyvalue; + $this->bookmarks[] = $bookmark; return $this; } /** - * Get keyvalue + * Remove bookmark * - * @return string + * @param \Cadoles\PortalBundle\Entity\Bookmark $bookmark */ - public function getKeyvalue() + public function removeBookmark(\Cadoles\PortalBundle\Entity\Bookmark $bookmark) { - return $this->keyvalue; + $this->bookmarks->removeElement($bookmark); + } + + /** + * Get bookmarks + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getBookmarks() + { + return $this->bookmarks; } } diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/uploadListener.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/uploadListener.php index 97e7e728..213ff2a8 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/uploadListener.php +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/uploadListener.php @@ -90,7 +90,32 @@ class uploadListener $session = new Session(); $session->set('uploadavatar', $filename); break; + case "file": + $file=$event->getFile(); + $filename=$file->getFilename(); + $pathname=$file->getPath(); + // Déplacer le fichier dans la cible + $request = $event->getRequest(); + $directory = $request->get('directory'); + $file->move($pathname."/".$directory, $filename); + + // Création d'un thumb dans le cas d'un fichier de type imapge + if (in_array(strtolower($file->GetExtension()), array('jpg', 'jpeg', 'jpe', 'png', 'gif', 'bmp'))) { + $fs = new Filesystem(); + $fs->copy($pathname."/".$directory."/".$filename,$pathname."/".$directory."/thumb/".$filename); + $max_width=350; + $width = $this->getWidth($pathname."/".$directory."/thumb/".$filename); + $height = $this->getHeight($pathname."/".$directory."/thumb/".$filename); + $scale = $max_width/$width; + $this->resizeImage($pathname."/".$directory."/thumb/".$filename,$width,$height,$scale); + } + + $response = $event->getResponse(); + $response['file'] = $filename; + + + break; default: $file=$event->getFile(); $filename=$file->getFilename(); diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml index e9e43fbe..e63762a5 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml @@ -25,6 +25,49 @@ cadoles_core_crop02: path: /crop02 defaults: { _controller: CadolesCoreBundle:Crop:crop02 } +#== File ================================================================================================================= +#-- Access config +cadoles_core_config_file_upload: + path: /config/file/upload/{id}/{type} + defaults: { _controller: CadolesCoreBundle:File:upload, access: config } + +cadoles_core_config_file_delete: + path: /config/file/delete/ + defaults: { _controller: CadolesCoreBundle:File:delete, access: config } + +cadoles_core_config_file_view: + path: /config/file/view/{directory}/{filename} + defaults: { _controller: CadolesCoreBundle:File:view, access: config } + +cadoles_core_config_file_show: + path: /config/file/show/{directory}/{filename} + defaults: { _controller: CadolesCoreBundle:File:show, access: config } + +cadoles_core_config_file_download: + path: /config/file/download/{directory}/{filename} + defaults: { _controller: CadolesCoreBundle:File:download, access: config } + +#-- Access user +cadoles_core_user_file_upload: + path: /user/config/file/upload/{id}/{type} + defaults: { _controller: CadolesCoreBundle:File:upload, access: user } + +cadoles_core_user_file_delete: + path: /user/file/delete + defaults: { _controller: CadolesCoreBundle:File:delete, access: user } + +cadoles_core_user_file_view: + path: file/view/{directory}/{filename} + defaults: { _controller: CadolesCoreBundle:File:view, access: user } + +cadoles_core_user_file_download: + path: file/download/{directory}/{filename} + defaults: { _controller: CadolesCoreBundle:File:download, access: user } + +cadoles_core_user_file_show: + path: file/show/{directory}/{filename} + defaults: { _controller: CadolesCoreBundle:File:show, access: user } + #== Ajax ================================================================================================================= cadoles_core_ajax_country_list: path: /ajax/country/list diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/services.yml b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/services.yml index f6234156..a600d93a 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/services.yml +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/services.yml @@ -11,6 +11,9 @@ services: tags: - { name: kernel.event_listener, event: oneup_uploader.post_persist, method: onUpload } + cadoles.core.upload.namer.same: + class: Cadoles\CoreBundle\Service\uploadSameNamer + cadoles.core.password.encoder: class: Cadoles\CoreBundle\Service\passwordEncoder diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/jsRapClock.css b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/jsRapClock.css new file mode 100644 index 00000000..a6011217 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/jsRapClock.css @@ -0,0 +1,50 @@ +.rapClock{ +#background:radial-gradient(#fff 10%,#ccc 60%,#000 61%,#a00 70%,black 100%); +font-family:'Comic Sans MS',cursive,sans-serif; +position:relative; +border-radius:50%; +#box-shadow:inset -2px -2px 4px rgba(0,0,0,8),inset 2px 2px 4px rgba(255,255,255,8),2px 2px 4px rgba(0,0,0,8),0px 0px 4px black; +text-align:center; +text-shadow:0 0 2px #fff; +} +.rapClockCaption{ +padding-top:25%; +} +.rapClockHours{ +top:50%; +left:50%; +width:2%; +height:8%; +position:absolute; +background-color:#000; +} +.rapClockNumbers{ +top:50%; +left:50%; +position:absolute; +} +.rapClockHands{ +top:50%; +left:50%; +position:absolute; +border-radius:50% 50% 50% 50% / 90% 90% 10% 10%; +} +.rapClockS{ +width:2%; +height:46%; +z-index:3; +background-color:#a00; +} +.rapClockM{ +width:3%; +height:34%; +z-index: 2; +background-color:#222; +} + +.rapClockH{ +width:5%; +height:25%; +z-index:1; +background-color:#222; +} \ No newline at end of file diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/slick-theme.css b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/slick-theme.css new file mode 100644 index 00000000..b6dcdc1d --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/slick-theme.css @@ -0,0 +1,206 @@ +@charset 'UTF-8'; +/* Slider */ +.slick-loading .slick-list +{ + background: #fff url('../bundles/cadolescore/images/loading.gif') center center no-repeat; +} + +/* Icons */ +@font-face +{ + font-family: 'slick'; + font-weight: normal; + font-style: normal; + + src: url('../fonts/slick.eot'); + src: url('../fonts/slick.eot?#iefix') format('embedded-opentype'), url('../fonts/slick.woff') format('woff'), url('../fonts/slick.ttf') format('truetype'), url('../fonts/slick.svg#slick') format('svg'); +} +/* Arrows */ +.slick-prev, +.slick-next +{ + font-size: 0; + line-height: 0; + + position: absolute; + top: 50%; + + display: block; + + width: 40px; + height: 40px; + padding: 0; + -webkit-transform: translate(0, -50%); + -ms-transform: translate(0, -50%); + transform: translate(0, -50%); + + cursor: pointer; + + color: transparent; + border: none; + outline: none; + background: transparent; + + z-index: 10000; +} +.slick-prev:hover, +.slick-prev:focus, +.slick-next:hover, +.slick-next:focus +{ + color: transparent; + outline: none; + background: transparent; +} +.slick-prev:hover:before, +.slick-prev:focus:before, +.slick-next:hover:before, +.slick-next:focus:before +{ + opacity: 1; +} +.slick-prev.slick-disabled:before, +.slick-next.slick-disabled:before +{ + opacity: .25; +} + +.slick-prev:before, +.slick-next:before +{ + font-family: 'slick'; + font-size: 40px; + line-height: 1; + + opacity: .75; + color: white; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.slick-prev +{ + left: 10px; +} +[dir='rtl'] .slick-prev +{ + right: 10px; + left: auto; +} +.slick-prev:before +{ + content: '←'; +} +[dir='rtl'] .slick-prev:before +{ + content: '→'; +} + +.slick-next +{ + right: 10px; +} +[dir='rtl'] .slick-next +{ + right: auto; + left: 10px; +} +.slick-next:before +{ + content: '→'; +} +[dir='rtl'] .slick-next:before +{ + content: '←'; +} + +/* Dots */ +.slick-dotted.slick-slider +{ + margin-bottom: 30px; +} + +.slick-dots +{ + position: absolute; + bottom: -25px; + + display: block; + + width: 100%; + padding: 0; + margin: 0; + + list-style: none; + + text-align: center; +} +.slick-dots li +{ + position: relative; + + display: inline-block; + + width: 20px; + height: 20px; + margin: 0 5px; + padding: 0; + + cursor: pointer; +} +.slick-dots li button +{ + font-size: 0; + line-height: 0; + + display: block; + + width: 20px; + height: 20px; + padding: 5px; + + cursor: pointer; + + color: transparent; + border: 0; + outline: none; + background: transparent; +} +.slick-dots li button:hover, +.slick-dots li button:focus +{ + outline: none; +} +.slick-dots li button:hover:before, +.slick-dots li button:focus:before +{ + opacity: 1; +} +.slick-dots li button:before +{ + font-family: 'slick'; + font-size: 6px; + line-height: 20px; + + position: absolute; + top: 0; + left: 0; + + width: 20px; + height: 20px; + + content: '•'; + text-align: center; + + opacity: .25; + color: black; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.slick-dots li.slick-active button:before +{ + opacity: .75; + color: black; +} diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/slick.css b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/slick.css new file mode 100644 index 00000000..57477e84 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/slick.css @@ -0,0 +1,119 @@ +/* Slider */ +.slick-slider +{ + position: relative; + + display: block; + box-sizing: border-box; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + -webkit-touch-callout: none; + -khtml-user-select: none; + -ms-touch-action: pan-y; + touch-action: pan-y; + -webkit-tap-highlight-color: transparent; +} + +.slick-list +{ + position: relative; + + display: block; + overflow: hidden; + + margin: 0; + padding: 0; +} +.slick-list:focus +{ + outline: none; +} +.slick-list.dragging +{ + cursor: pointer; + cursor: hand; +} + +.slick-slider .slick-track, +.slick-slider .slick-list +{ + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.slick-track +{ + position: relative; + top: 0; + left: 0; + + display: block; + margin-left: auto; + margin-right: auto; +} +.slick-track:before, +.slick-track:after +{ + display: table; + + content: ''; +} +.slick-track:after +{ + clear: both; +} +.slick-loading .slick-track +{ + visibility: hidden; +} + +.slick-slide +{ + display: none; + float: left; + + height: 100%; + min-height: 1px; +} +[dir='rtl'] .slick-slide +{ + float: right; +} +.slick-slide img +{ + display: block; +} +.slick-slide.slick-loading img +{ + display: none; +} +.slick-slide.dragging img +{ + pointer-events: none; +} +.slick-initialized .slick-slide +{ + display: block; +} +.slick-loading .slick-slide +{ + visibility: hidden; +} +.slick-vertical .slick-slide +{ + display: block; + + height: auto; + + border: 1px solid transparent; +} +.slick-arrow.slick-hidden { + display: none; +} diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/slick.eot b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/slick.eot new file mode 100644 index 00000000..2cbab9ca Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/slick.eot differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/slick.svg b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/slick.svg new file mode 100644 index 00000000..b36a66a6 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/slick.svg @@ -0,0 +1,14 @@ + + + +Generated by Fontastic.me + + + + + + + + + + diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/slick.ttf b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/slick.ttf new file mode 100644 index 00000000..9d03461b Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/slick.ttf differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/slick.woff b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/slick.woff new file mode 100644 index 00000000..8ee99721 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/slick.woff differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/config.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/config.png deleted file mode 100644 index 1a74a4f1..00000000 Binary files a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/config.png and /dev/null differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/_blank.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/_blank.png new file mode 100644 index 00000000..ae53a4e5 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/_blank.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/_page.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/_page.png new file mode 100644 index 00000000..b8d155e1 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/_page.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/aac.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/aac.png new file mode 100644 index 00000000..200db511 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/aac.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ai.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ai.png new file mode 100644 index 00000000..c1810f5d Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ai.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/aiff.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/aiff.png new file mode 100644 index 00000000..f9f1faff Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/aiff.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/avi.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/avi.png new file mode 100644 index 00000000..6ddfceaf Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/avi.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/bmp.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/bmp.png new file mode 100644 index 00000000..0efcc323 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/bmp.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/c.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/c.png new file mode 100644 index 00000000..249e6c79 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/c.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/cpp.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/cpp.png new file mode 100644 index 00000000..0a6cd8b3 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/cpp.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/css.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/css.png new file mode 100644 index 00000000..8035b9d7 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/css.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dat.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dat.png new file mode 100644 index 00000000..971e3648 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dat.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dmg.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dmg.png new file mode 100644 index 00000000..94a38aec Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dmg.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/doc.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/doc.png new file mode 100644 index 00000000..aff82347 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/doc.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dotx.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dotx.png new file mode 100644 index 00000000..b0220e33 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dotx.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dwg.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dwg.png new file mode 100644 index 00000000..de4fe53d Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dwg.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dxf.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dxf.png new file mode 100644 index 00000000..2ed24652 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/dxf.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/eps.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/eps.png new file mode 100644 index 00000000..cc32db85 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/eps.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/exe.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/exe.png new file mode 100644 index 00000000..60e5f6bc Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/exe.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/flv.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/flv.png new file mode 100644 index 00000000..73bc4ccb Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/flv.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/gif.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/gif.png new file mode 100644 index 00000000..07e601f5 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/gif.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/h.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/h.png new file mode 100644 index 00000000..f5cc5e56 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/h.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/hpp.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/hpp.png new file mode 100644 index 00000000..ddcc8bfb Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/hpp.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/html.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/html.png new file mode 100644 index 00000000..454cd9f1 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/html.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ics.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ics.png new file mode 100644 index 00000000..7a0f5c0e Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ics.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/iso.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/iso.png new file mode 100644 index 00000000..729fa7fb Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/iso.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/java.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/java.png new file mode 100644 index 00000000..0d46a4a5 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/java.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/jpg.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/jpg.png new file mode 100644 index 00000000..4262c4e5 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/jpg.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/js.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/js.png new file mode 100644 index 00000000..507661c7 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/js.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/key.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/key.png new file mode 100644 index 00000000..44ab47e3 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/key.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/less.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/less.png new file mode 100644 index 00000000..2d7b56fc Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/less.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/mid.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/mid.png new file mode 100644 index 00000000..fc50598f Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/mid.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/mp3.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/mp3.png new file mode 100644 index 00000000..568a51ca Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/mp3.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/mp4.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/mp4.png new file mode 100644 index 00000000..c83c923f Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/mp4.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/mpg.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/mpg.png new file mode 100644 index 00000000..e106159e Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/mpg.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/odf.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/odf.png new file mode 100644 index 00000000..81737718 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/odf.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ods.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ods.png new file mode 100644 index 00000000..a3c5cc2b Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ods.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/odt.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/odt.png new file mode 100644 index 00000000..1e72fd40 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/odt.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/otp.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/otp.png new file mode 100644 index 00000000..b419dc67 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/otp.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ots.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ots.png new file mode 100644 index 00000000..712b039a Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ots.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ott.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ott.png new file mode 100644 index 00000000..2540efd7 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ott.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/pdf.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/pdf.png new file mode 100644 index 00000000..b288c3fe Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/pdf.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/php.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/php.png new file mode 100644 index 00000000..615591ed Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/php.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/png.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/png.png new file mode 100644 index 00000000..374333c8 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/png.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ppt.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ppt.png new file mode 100644 index 00000000..42f88959 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/ppt.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/psd.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/psd.png new file mode 100644 index 00000000..4351dd35 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/psd.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/py.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/py.png new file mode 100644 index 00000000..9e5668f5 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/py.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/qt.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/qt.png new file mode 100644 index 00000000..4deac478 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/qt.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/rar.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/rar.png new file mode 100644 index 00000000..ad4b8799 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/rar.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/rb.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/rb.png new file mode 100644 index 00000000..5b4a52bf Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/rb.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/rtf.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/rtf.png new file mode 100644 index 00000000..99510b90 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/rtf.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/sass.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/sass.png new file mode 100644 index 00000000..27ebf76f Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/sass.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/scss.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/scss.png new file mode 100644 index 00000000..33b47f4b Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/scss.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/sql.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/sql.png new file mode 100644 index 00000000..17425607 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/sql.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/tga.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/tga.png new file mode 100644 index 00000000..2a97d3da Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/tga.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/tgz.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/tgz.png new file mode 100644 index 00000000..2572e1fe Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/tgz.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/tiff.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/tiff.png new file mode 100644 index 00000000..a44d071e Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/tiff.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/txt.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/txt.png new file mode 100644 index 00000000..36c466c4 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/txt.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/wav.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/wav.png new file mode 100644 index 00000000..523b9b69 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/wav.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/xls.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/xls.png new file mode 100644 index 00000000..c66931cf Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/xls.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/xlsx.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/xlsx.png new file mode 100644 index 00000000..5dd59054 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/xlsx.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/xml.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/xml.png new file mode 100644 index 00000000..9fcfced9 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/xml.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/yml.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/yml.png new file mode 100644 index 00000000..373f9836 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/yml.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/zip.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/zip.png new file mode 100644 index 00000000..238768c9 Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/files/zip.png differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/logo.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/logo.png deleted file mode 100644 index a8bd66ec..00000000 Binary files a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/logo.png and /dev/null differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/logo2.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/logo2.png deleted file mode 100644 index 20a87974..00000000 Binary files a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/logo2.png and /dev/null differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/ninthgate.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/ninthgate.png deleted file mode 100644 index ce9d9118..00000000 Binary files a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/ninthgate.png and /dev/null differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/photo.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/photo.png deleted file mode 100644 index 37f82a55..00000000 Binary files a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/photo.png and /dev/null differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/training.png b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/training.png deleted file mode 100644 index 6ce8bc30..00000000 Binary files a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/images/training.png and /dev/null differ diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/js/jsRapClock.js b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/js/jsRapClock.js new file mode 100644 index 00000000..dc4d0035 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/js/jsRapClock.js @@ -0,0 +1,53 @@ +$(window).resize(function(){ +$('.rapClock').each(function(){ + this.Render(); +}); +}); + +(function($){ +$.fn.jsRapClock = function(options){ + +return this.each(function(){ +this.opt = $.extend({ + caption:'', + clockNumbers:true, + shiftH:0, + shiftM:0, + shiftS:0 +},options); +var base = this; + +this.Render = function(){ +$(this).empty(); +var w = $(this).width(); +$(this).addClass('rapClock').height(w); +if(this.opt.caption) + $('
').addClass('rapClockCaption').text(this.opt.caption).appendTo(this); +for(var n = 0;n < 12;n++) + if(this.opt.clockNumbers) + $('
').text((n + 5) % 12 + 1).addClass('rapClockNumbers').css({'font-size':(w * 0.1)+ 'px',transform:'translate(-50%,-50%) rotate(' + (n * 30) + 'deg) translate(0,' + (w * 0.36) + 'px) rotate(-' + (n * 30) + 'deg)'}).appendTo(this); + else + $('
').addClass('rapClockHours').css('transform','translate(-50%,-50%) rotate(' + (n * 30) + 'deg) translate(0,460%)').appendTo(this); +$('
').addClass('rapClockHands rapClockH').appendTo(this); +$('
').addClass('rapClockHands rapClockM').appendTo(this); +$('
').addClass('rapClockHands rapClockS').appendTo(this); +this.ShowTime(); +} + +this.ShowTime = function(){ +var d = new Date(); +var h = d.getHours() + this.opt.shiftH; +var m = d.getMinutes() + this.opt.shiftM; +var s = d.getSeconds() + this.opt.shiftS; +$('.rapClockH',this).css('transform','translate(-50%,-50%) rotate(' + (h * 30 + m / 2) + 'deg) translate(0,-40%)'); +$('.rapClockM',this).css('transform','translate(-50%,-50%) rotate(' + (m * 6) + 'deg) translate(0,-45%)'); +$('.rapClockS',this).css('transform','translate(-50%,-50%) rotate(' + (s * 6) + 'deg) translate(0,-30%)'); +} + +this.Render(); +setInterval( function(){ + base.ShowTime(); +},1000 ); +}); + +}})(jQuery); \ No newline at end of file diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/js/slick.js b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/js/slick.js new file mode 100644 index 00000000..6a2a0995 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/js/slick.js @@ -0,0 +1,3011 @@ +/* + _ _ _ _ + ___| (_) ___| | __ (_)___ +/ __| | |/ __| |/ / | / __| +\__ \ | | (__| < _ | \__ \ +|___/_|_|\___|_|\_(_)/ |___/ + |__/ + + Version: 1.8.0 + Author: Ken Wheeler + Website: http://kenwheeler.github.io + Docs: http://kenwheeler.github.io/slick + Repo: http://github.com/kenwheeler/slick + Issues: http://github.com/kenwheeler/slick/issues + + */ +/* global window, document, define, jQuery, setInterval, clearInterval */ +;(function(factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } else if (typeof exports !== 'undefined') { + module.exports = factory(require('jquery')); + } else { + factory(jQuery); + } + +}(function($) { + 'use strict'; + var Slick = window.Slick || {}; + + Slick = (function() { + + var instanceUid = 0; + + function Slick(element, settings) { + + var _ = this, dataSettings; + + _.defaults = { + accessibility: true, + adaptiveHeight: false, + appendArrows: $(element), + appendDots: $(element), + arrows: true, + asNavFor: null, + prevArrow: '', + nextArrow: '', + autoplay: false, + autoplaySpeed: 3000, + centerMode: false, + centerPadding: '50px', + cssEase: 'ease', + customPaging: function(slider, i) { + return $(' -
- - -
- {% endif %} - - {% if usemenu %} - - {% endif %} -{% endif %} - - - - -{% if usesidebar %} - -{% endif %} - diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/base.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/base.html.twig index ac2d6c7d..48a7930b 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/base.html.twig +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/base.html.twig @@ -1,3 +1,5 @@ +{% set color = app.session.get('color') %} + @@ -5,27 +7,99 @@
- {{ include('@CadolesCore/Include/hero.html.twig') }} + {% if app.session.get('fgheader') %} + {% if useheader %} +
+ + + {{ app.session.get('appname') }} + + + + +
+ {% endif %} + {% endif %} + + {% if useheader %} + + {% endif %} + + {% if usemenu %} + + {% endif %} + + {% if usesidebar %} + + {% endif %} + + + + + + +
- {% endif %} - {% block pagewrapper %} + {% block pagewrapper %} - {% endblock %} - {% if useheader %} + {% endblock %} + +
- {% endif %}
{{ include('@CadolesCore/Include/footer.html.twig') }} diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/nosidebar.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/nosidebar.html.twig deleted file mode 100644 index 0fb3fa9f..00000000 --- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/nosidebar.html.twig +++ /dev/null @@ -1,37 +0,0 @@ - - - - - {{ include('@CadolesCore/Include/head.html.twig') }} - - - - -
- {% set usesidebar = false %} - {{ include('@CadolesCore/Include/hero.html.twig') }} - -
-
-
- {% block pagewrapper %} - - {% endblock %} -
-
-
-
- - {{ include('@CadolesCore/Include/footer.html.twig') }} - - - - - diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/simple.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/simple.html.twig deleted file mode 100644 index 17f2cdf6..00000000 --- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/simple.html.twig +++ /dev/null @@ -1,28 +0,0 @@ - - - - - {{ include('@CadolesCore/Include/head.html.twig') }} - - - - -
- {% block pagewrapper %} - - {% endblock %} -
- - {{ include('@CadolesCore/Include/footer.html.twig') }} - - - - - diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Service/uploadSameNamer.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Service/uploadSameNamer.php new file mode 100644 index 00000000..47acbb6e --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Service/uploadSameNamer.php @@ -0,0 +1,14 @@ +getClientOriginalName(); + } +} \ No newline at end of file diff --git a/src/cadolesuser-1.0/src/Cadoles/CronBundle/Command/CronCommand.php b/src/cadolesuser-1.0/src/Cadoles/CronBundle/Command/CronCommand.php index 1262602f..0164ed73 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CronBundle/Command/CronCommand.php +++ b/src/cadolesuser-1.0/src/Cadoles/CronBundle/Command/CronCommand.php @@ -6,6 +6,7 @@ use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand; use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\HttpFoundation\Response; use Cadoles\CronBundle\Entity\Cron; @@ -13,6 +14,8 @@ use Cadoles\CronBundle\Entity\Cron; class CronCommand extends ContainerAwareCommand { private $output; + private $filesystem; + private $rootlog; protected function configure() { @@ -25,8 +28,10 @@ class CronCommand extends ContainerAwareCommand protected function execute(InputInterface $input, OutputInterface $output) { $entityManager = $this->getContainer()->get('doctrine')->getEntityManager(); - $this->output = $output; - + + $this->output = $output; + $this->filesystem = new Filesystem(); + $this->rootlog = $this->getContainer()->get('kernel')->getRootDir()."/../var/logs/"; $cron_activate = $this->getContainer()->getParameter('cron_activate'); if(!$cron_activate) @@ -41,9 +46,12 @@ class CronCommand extends ContainerAwareCommand if($crons) { $now=new \DateTime(); $this->writelnred(''); - $this->writelnred('====================================================='); - $this->writelnred('== CRON ============================================='); - $this->writelnred('====================================================='); + $this->writelnred(''); + $this->writelnred(''); + $this->writelnred(''); + $this->writelnred('=========================================================================================================='); + $this->writelnred('== CRON =================================================================================================='); + $this->writelnred('=========================================================================================================='); $this->writeln ('Date = '.$now->format('Y-m-d H:i:s')); } @@ -103,6 +111,12 @@ class CronCommand extends ContainerAwareCommand } } - private function writelnred($string) { $this->output->writeln(''.$string.''); } - private function writeln($string) { $this->output->writeln($string); } + private function writelnred($string) { + $this->output->writeln(''.$string.''); + $this->filesystem->appendToFile($this->rootlog.'cron.log', $string."\n"); + } + private function writeln($string) { + $this->output->writeln($string); + $this->filesystem->appendToFile($this->rootlog.'cron.log', $string."\n"); + } } diff --git a/src/cadolesuser-1.0/src/Cadoles/CronBundle/Command/MailCommand.php b/src/cadolesuser-1.0/src/Cadoles/CronBundle/Command/MailCommand.php index e89021c3..86a8a118 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CronBundle/Command/MailCommand.php +++ b/src/cadolesuser-1.0/src/Cadoles/CronBundle/Command/MailCommand.php @@ -7,6 +7,7 @@ use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\HttpFoundation\Response; use Cadoles\CronBundle\Entity\Cron; @@ -16,6 +17,8 @@ class MailCommand extends Command private $container; private $em; private $output; + private $filesystem; + private $rootlog; protected function configure() { @@ -35,21 +38,29 @@ class MailCommand extends Command $this->container = $this->getApplication()->getKernel()->getContainer(); $this->em = $this->container->get('doctrine')->getEntityManager(); $this->output = $output; + $this->filesystem = new Filesystem(); + $this->rootlog = $this->container->get('kernel')->getRootDir()."/../var/logs/"; $this->writelnred(''); $this->writelnred('== Cron:Mail'); - $this->writelnred('====================================================='); + $this->writelnred('=========================================================================================================='); $command = $this->getApplication()->find("swiftmailer:spool:send"); $tbparameter["--message-limit"]=100; $tbparameter["--env"]="prod"; $parameter = new ArrayInput($tbparameter); $returnCode = $command->run($parameter, $output); - $output->writeln(""); + $this->writeln(""); return 1; } - private function writelnred($string) { $this->output->writeln(''.$string.''); } - private function writeln($string) { $this->output->writeln($string); } + private function writelnred($string) { + $this->output->writeln(''.$string.''); + $this->filesystem->appendToFile($this->rootlog.'cron.log', $string."\n"); + } + private function writeln($string) { + $this->output->writeln($string); + $this->filesystem->appendToFile($this->rootlog.'cron.log', $string."\n"); + } } diff --git a/src/cadolesuser-1.0/src/Cadoles/CronBundle/Controller/CronController.php b/src/cadolesuser-1.0/src/Cadoles/CronBundle/Controller/CronController.php index 93693a2d..722f4fa9 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CronBundle/Controller/CronController.php +++ b/src/cadolesuser-1.0/src/Cadoles/CronBundle/Controller/CronController.php @@ -169,4 +169,19 @@ class CronController extends Controller "content" =>$content ]); } + + public function logAction(Request $request, $id) + { + $kernel = $this->get('kernel'); + $path = $this->get('kernel')->getRootDir() . '/../var/logs/'.$id.'.log'; + $content = file_get_contents($path); + + return $this->render('CadolesCronBundle:Cron:logs.html.twig', [ + 'useheader' => true, + 'usemenu' => false, + 'usesidebar' => true, + "title" => "LOG = ".$id, + "content" => $content + ]); + } } diff --git a/src/cadolesuser-1.0/src/Cadoles/CronBundle/Resources/config/routing.yml b/src/cadolesuser-1.0/src/Cadoles/CronBundle/Resources/config/routing.yml index ffce066a..7b87c43f 100644 --- a/src/cadolesuser-1.0/src/Cadoles/CronBundle/Resources/config/routing.yml +++ b/src/cadolesuser-1.0/src/Cadoles/CronBundle/Resources/config/routing.yml @@ -12,4 +12,9 @@ cadoles_cron_config_update: cadoles_cron_config_exec: path: /config/cron/exec/{id} - defaults: { _controller: CadolesCronBundle:Cron:exec } \ No newline at end of file + defaults: { _controller: CadolesCronBundle:Cron:exec } + +cadoles_cron_config_log: + path: /config/cron/log/{id} + controller: CadolesCronBundle:Cron:log + defaults: { id: "cron" } \ No newline at end of file diff --git a/src/cadolesuser-1.0/src/Cadoles/CronBundle/Resources/views/Cron/logs.html.twig b/src/cadolesuser-1.0/src/Cadoles/CronBundle/Resources/views/Cron/logs.html.twig new file mode 100644 index 00000000..8e2100b3 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/CronBundle/Resources/views/Cron/logs.html.twig @@ -0,0 +1,19 @@ +{% extends '@CadolesCore/base.html.twig' %} + +{% block pagewrapper %} +

{{ title }}

+ + Log CRON + Log PROD + Log DEV +

+
+
+ Logs +
+ +
+ {{ content | nl2br }} +
+
+{% endblock %} \ No newline at end of file diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Command/InitDataCommand.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Command/InitDataCommand.php index 1cd913cf..70fb00db 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Command/InitDataCommand.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Command/InitDataCommand.php @@ -74,7 +74,7 @@ class InitDataCommand extends ContainerAwareCommand $em->persist($entityPagecategory); } - // Creation des Widgets + // Widget URL $output->writeln(' > Creation Widget'); $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-2000); if(!$entityWidget) { @@ -97,6 +97,7 @@ class InitDataCommand extends ContainerAwareCommand $em->persist($entityWidget); } + // Widget Bureau $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1990); if(!$entityWidget) { $entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_computer.png"]); @@ -110,15 +111,15 @@ class InitDataCommand extends ContainerAwareCommand $entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_item"); $entityWidget->setHeight("630"); $entityWidget->setAutoajust(true); - $entityWidget->setBorder(false); - $entityWidget->setColorbodyback("ffffff"); + $entityWidget->setBorder(true); - $parameter = json_decode('{"fields": [{"id": "modedesktop", "loc": "col1", "type": "desktopmode", "label": "Mode Affichage", "value": "0", "mandatory": "true"},{"id": "itemcategory", "loc": "col1", "type": "itemcategory", "label": "Catégorie Affichée", "value": "", "mandatory": "false"}]}'); + $parameter = json_decode('{"fields": [{"id": "modedesktop", "loc": "col1", "type": "desktopmode", "label": "Mode Affichage", "value": "0", "mandatory": "true"},{"id": "withbookmark", "loc": "col1", "type": "withbookmark", "label": "Avec Favoris", "value": "0", "mandatory": "true"},{"id": "itemcategory", "loc": "col1", "type": "itemcategory", "label": "Catégorie Affichée", "value": "", "mandatory": "false"}]}'); $entityWidget->setParameter($parameter); $em->persist($entityWidget); } + // Widget Annonce $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1980); if(!$entityWidget) { $entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_megaphone.png"]); @@ -132,8 +133,7 @@ class InitDataCommand extends ContainerAwareCommand $entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_alert"); $entityWidget->setHeight("630"); $entityWidget->setAutoajust(true); - $entityWidget->setBorder(false); - $entityWidget->setColorbodyback("ffffff"); + $entityWidget->setBorder(true); $parameter = json_decode('{"fields": [{"id": "alertcategory", "loc": "col1", "type": "alertcategory", "label": "Catégorie Affichée", "value": "", "mandatory": "false"}]}'); $entityWidget->setParameter($parameter); @@ -141,6 +141,205 @@ class InitDataCommand extends ContainerAwareCommand $em->persist($entityWidget); } + // Widget Flux + $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1970); + if(!$entityWidget) { + $entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_rss.png"]); + + $entityWidget = new Widget(); + $entityWidget->setId(-1970); + $entityWidget->setRoworder(4); + $entityWidget->setIcon($entityicon); + $entityWidget->setName('Flux'); + $entityWidget->setDescription("Affiche vos flux RSS"); + $entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_flux"); + $entityWidget->setHeight("630"); + $entityWidget->setAutoajust(true); + $entityWidget->setBorder(true); + + $parameter = json_decode('{"fields": []}'); + $entityWidget->setParameter($parameter); + + $em->persist($entityWidget); + } + + // Widget Favoris + $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1960); + if(!$entityWidget) { + $entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_star.png"]); + + $entityWidget = new Widget(); + $entityWidget->setId(-1960); + $entityWidget->setRoworder(5); + $entityWidget->setIcon($entityicon); + $entityWidget->setName('Favoris'); + $entityWidget->setDescription("Création de Favoris"); + $entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_bookmark"); + $entityWidget->setHeight("630"); + $entityWidget->setAutoajust(true); + $entityWidget->setBorder(true); + + $parameter = json_decode('{"fields": [{"id": "modedesktop", "loc": "col1", "type": "desktopmode", "label": "Mode Affichage", "value": "0", "mandatory": "true"}]}'); + $entityWidget->setParameter($parameter); + + $em->persist($entityWidget); + } + + // Widget Liens + $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1950); + if(!$entityWidget) { + $entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_bolt.png"]); + + $entityWidget = new Widget(); + $entityWidget->setId(-1950); + $entityWidget->setRoworder(6); + $entityWidget->setIcon($entityicon); + $entityWidget->setName('Lien'); + $entityWidget->setDescription("Création d'un Lien"); + $entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_link"); + $entityWidget->setHeight("200"); + $entityWidget->setAutoajust(true); + $entityWidget->setBorder(true); + + $parameter = json_decode('{"fields": [{"id": "url", "loc": "col1", "type": "string", "label": "URL", "value": "", "mandatory": "true"},{"id": "target", "loc": "col1", "type": "target", "label": "Ouvrir le lien dans", "value": "0", "mandatory": "true"}]}'); + $entityWidget->setParameter($parameter); + + $em->persist($entityWidget); + } + + // Widget Liens + $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1940); + if(!$entityWidget) { + $entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_compose.png"]); + + $entityWidget = new Widget(); + $entityWidget->setId(-1940); + $entityWidget->setRoworder(7); + $entityWidget->setIcon($entityicon); + $entityWidget->setName('Editeur'); + $entityWidget->setDescription("Votre propre texte à éditer"); + $entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_editor"); + $entityWidget->setHeight("630"); + $entityWidget->setAutoajust(true); + $entityWidget->setBorder(true); + + $parameter = json_decode('{"fields": [{"id": "html", "loc": "col5", "type": "ckeditor", "label": "Texte", "value": "", "mandatory": "false"}]}'); + $entityWidget->setParameter($parameter); + + $em->persist($entityWidget); + } + + // Widget Carrousel + $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1930); + if(!$entityWidget) { + $entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_easel.png"]); + + $entityWidget = new Widget(); + $entityWidget->setId(-1930); + $entityWidget->setRoworder(8); + $entityWidget->setIcon($entityicon); + $entityWidget->setName('Carrousel'); + $entityWidget->setDescription("Carrousel d'images"); + $entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_slide"); + $entityWidget->setHeight("400"); + $entityWidget->setAutoajust(false); + $entityWidget->setBorder(false); + + $parameter = json_decode('{"fields": [{"id": "interval", "loc": "col1", "type": "integer", "label": "Interval en seconde entre 2 images", "value": "5", "mandatory": "false"}]}'); + $entityWidget->setParameter($parameter); + + $em->persist($entityWidget); + } + + // Widget File + $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1920); + if(!$entityWidget) { + $entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_folder.png"]); + + $entityWidget = new Widget(); + $entityWidget->setId(-1920); + $entityWidget->setRoworder(9); + $entityWidget->setIcon($entityicon); + $entityWidget->setName('Fichiers'); + $entityWidget->setDescription("Répertoire de fichiers"); + $entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_file"); + $entityWidget->setHeight("630"); + $entityWidget->setAutoajust(true); + $entityWidget->setBorder(true); + + $parameter = json_decode('{"fields": []}'); + $entityWidget->setParameter($parameter); + + $em->persist($entityWidget); + } + + // Widget Galery + $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1910); + if(!$entityWidget) { + $entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_image.png"]); + + $entityWidget = new Widget(); + $entityWidget->setId(-1910); + $entityWidget->setRoworder(10); + $entityWidget->setIcon($entityicon); + $entityWidget->setName('Galerie'); + $entityWidget->setDescription("Galerie d'images'"); + $entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_galery"); + $entityWidget->setHeight("630"); + $entityWidget->setAutoajust(true); + $entityWidget->setBorder(true); + + $parameter = json_decode('{"fields": []}'); + $entityWidget->setParameter($parameter); + + $em->persist($entityWidget); + } + + + // Widget Horloge + $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1500); + if(!$entityWidget) { + $entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_clock.png"]); + + $entityWidget = new Widget(); + $entityWidget->setId(-1500); + $entityWidget->setRoworder(100); + $entityWidget->setIcon($entityicon); + $entityWidget->setName('Horloge'); + $entityWidget->setDescription("Une simple horloge'"); + $entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_clock"); + $entityWidget->setHeight("300"); + $entityWidget->setAutoajust(false); + $entityWidget->setBorder(true); + + $parameter = json_decode('{"fields": [{"id": "clock", "loc": "col1", "type": "clock", "label": "Mode d\'affichage", "value": "0", "mandatory": "true"}]}'); + $entityWidget->setParameter($parameter); + + $em->persist($entityWidget); + } + + // Widget Calculatrice + $entityWidget = $em->getRepository('CadolesPortalBundle:Widget')->find(-1490); + if(!$entityWidget) { + $entityicon = $em->getRepository('CadolesPortalBundle:Icon')->findoneby(["label"=>"uploads/icon/icon_calculator.png"]); + + $entityWidget = new Widget(); + $entityWidget->setId(-1490); + $entityWidget->setRoworder(110); + $entityWidget->setIcon($entityicon); + $entityWidget->setName('Calculatrice'); + $entityWidget->setDescription("Une simple calculatrice'"); + $entityWidget->setRouteview("cadoles_portal_config_panelwidget_view_calculator"); + $entityWidget->setHeight("400"); + $entityWidget->setAutoajust(false); + $entityWidget->setBorder(true); + + $parameter = json_decode('{"fields": []}'); + $entityWidget->setParameter($parameter); + + $em->persist($entityWidget); + } + // afin de forcer les ID sur certaines entités $metadata = $em->getClassMetaData(get_class($entityWidget)); $metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE); diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/BookmarkController.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/BookmarkController.php new file mode 100644 index 00000000..6a630740 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/BookmarkController.php @@ -0,0 +1,245 @@ +getDoctrine()->getManager(); + $data = new Bookmark(); + + // On s'assure que le widget existe + if($touser=="false") { + $pagewidget = $em->getRepository("CadolesPortalBundle:Pagewidget")->find($idwidget); + if (!$pagewidget) throw $this->createNotFoundException('Unable to find entity.'); + } + + // Création du formulaire + $form = $this->createForm(BookmarkType::class,$data,array("mode"=>"submit")); + + // Récupération des data du formulaire + $form->handleRequest($request); + + // Sur erreur + $this->getErrorForm(null,$form,$request,$data,"submit"); + + // Sur validation + if ($form->get('submit')->isClicked() && $form->isValid()) { + $data = $form->getData(); + + // Bookmark widget ou desktop + if($touser=="true") + $data->setUser($this->getUser()); + else + $data->setPagewidget($pagewidget); + + // Icon + $idicon = $form->get('idicon')->getData(); + $icon=$this->getDoctrine()->getRepository("CadolesPortalBundle:Icon")->findoneby(["id"=>$idicon]); + $data->setIcon($icon); + + // Sauvegarde + $em->persist($data); + $em->flush(); + + // Retour à la page + return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_page_view',["id"=>$idpage])); + } + + return $this->render($this->labelentity.':edit.html.twig', [ + 'useheader' => ($access=="config"), + 'usemenu' => false, + 'usesidebar' => ($access=="config"), + 'entity' => $data, + 'icons' => $this->getDoctrine()->getRepository("CadolesPortalBundle:Icon")->findAll(), + 'mode' => "submit", + 'access' => $access, + 'idpage' => $idpage, + 'form' => $form->createView(), + ]); + } + + public function updateAction(Request $request,$idpage,$id,$access="config") + { + // Récupération de l'enregistrement courant + $em = $this->getDoctrine()->getManager(); + $data=$this->getData($id); + if (!$data) throw $this->createNotFoundException('Unable to find entity.'); + + // Vérifier que cet enregistrement est modifiable + $user=$data->getUser(); + if($user) { + if($user!=$this->getUser()) throw $this->createNotFoundException('Permission denied'); + } + elseif($access=="user") { + $user=$data->getPagewidget()->getPage()->getUser(); + if($user!=$this->getUser()) throw $this->createNotFoundException('Permission denied'); + } + + // Création du formulaire + $form = $this->createForm(BookmarkType::class,$data,array( + "mode" => "update", + "idicon" => ($data->getIcon()?$data->getIcon()->getId():null), + )); + + // Récupération des data du formulaire + $form->handleRequest($request); + + // Sur erreur + $this->getErrorForm($id,$form,$request,$data,"update"); + + // Sur validation + if ($form->get('submit')->isClicked() && $form->isValid()) { + $data = $form->getData(); + + // Icon + $idicon = $form->get('idicon')->getData(); + $icon=$this->getDoctrine()->getRepository("CadolesPortalBundle:Icon")->findoneby(["id"=>$idicon]); + $data->setIcon($icon); + + // Sauvegarde + $em->persist($data); + $em->flush(); + + // Retour à la page + return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_page_view',["id"=>$idpage])); + } + + + // Affichage du formulaire + return $this->render($this->labelentity.':edit.html.twig', [ + 'useheader' => ($access=="config"), + 'usemenu' => false, + 'usesidebar' => ($access=="config"), + 'entity' => $data, + 'icons' => $this->getDoctrine()->getRepository("CadolesPortalBundle:Icon")->findAll(), + 'mode' => "update", + 'access' => $access, + 'idpage' => $idpage, + 'form' => $form->createView(), + ]); + } + + public function deleteAction(Request $request,$idpage,$id,$access="config") + { + // Récupération de l'enregistrement courant + $em = $this->getDoctrine()->getManager(); + $data=$this->getData($id); + if (!$data) throw $this->createNotFoundException('Unable to find entity.'); + + // Vérifier que cet enregistrement est supprimable + $user=$data->getUser(); + if($user) { + if($user!=$this->getUser()) throw $this->createNotFoundException('Permission denied'); + } + elseif($access=="user") { + $user=$data->getPagewidget()->getPage()->getUser(); + if($user!=$this->getUser()) throw $this->createNotFoundException('Permission denied'); + } + + + // Supprimer la donnée + $em = $this->getDoctrine()->getManager(); + $em->remove($data); + $em->flush(); + + // Retour à la page + return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_page_view',["id"=>$idpage])); + } + + public function heartAction(Request $request) + { + // S'assurer que c'est un appel ajax + if (!$request->isXmlHttpRequest()) { + return new JsonResponse(array('message' => 'Interdit'), 400); + } + + $output=array(); + $iditem=$request->request->get('iditem'); + + // On s'assure que l'item existe + $em = $this->getDoctrine()->getManager(); + $item = $em->getRepository("CadolesPortalBundle:Item")->find($iditem); + if (!$item) throw $this->createNotFoundException('Unable to find entity.'); + + // On s'assure que l'item n'existe pas déjà dans les bookmark de l'utilisateur + $user=$this->getUser(); + $bookmark = $em->getRepository($this->labelentity)->findOneBy(["user"=>$user,"item"=>$item]); + if(!$bookmark) { + $bookmark = new Bookmark(); + $bookmark->setTitle($item->getTitle()); + $bookmark->setSubtitle($item->getSubtitle()); + $bookmark->setUrl($item->getUrl()); + $bookmark->setIcon($item->getIcon()); + $bookmark->setColor($item->getColor()); + $bookmark->setTarget($item->getTarget()); + $bookmark->setItem($item); + $bookmark->setUser($user); + + $em->persist($bookmark); + $em->flush(); + } + $output=$bookmark->getId(); + $response = new Response(json_encode($output)); + $response->headers->set('Content-Type', 'application/json'); + return $response; + } + + protected function getDatas() + { + $em = $this->getDoctrine()->getManager(); + $datas = $em->getRepository($this->labelentity)->findAll(); + return $datas; + } + + protected function getData($id) + { + $em = $this->getDoctrine()->getManager(); + $data = $em->getRepository($this->labelentity)->find($id); + + if (!$data) { + throw $this->createNotFoundException('Unable to find '.$this->labeldata); + } + + return $data; + } + + protected function getErrorForm($id,$form,$request,$data,$mode) { + if ($form->get('submit')->isClicked()&&$mode=="delete") { + } + + if ($form->get('submit')->isClicked() && $mode=="submit") { + } + + if ($form->get('submit')->isClicked() && !$form->isValid()) { + $this->get('session')->getFlashBag()->clear(); + $validator = $this->get('validator'); + $errors = $validator->validate($data); + foreach( $errors as $error ) { + $request->getSession()->getFlashBag()->add("error", $error->getMessage()); + } + + $errors = $form->getErrors(); + foreach( $errors as $error ) { + $request->getSession()->getFlashBag()->add("error", $error->getMessage()); + } + } + } +} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/FluxController.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/FluxController.php new file mode 100644 index 00000000..ef5f5a9f --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/FluxController.php @@ -0,0 +1,200 @@ +getDoctrine()->getRepository($this->labelentity)->findBy([], ['rowOrder' => 'asc']); + $groups = $this->getDoctrine()->getRepository('CadolesCoreBundle:Group')->findBy([], ['label' => 'asc']); + + return $this->render($this->labelentity.':list.html.twig', [ + 'useheader' => true, + 'usemenu' => false, + 'usesidebar' => true, + 'fluxs' => $fluxs, + 'groups' => $groups + ]); + } + + public function submitAction(Request $request) + { + // Initialisation de l'enregistrement + $data = new Flux(); + $data->setMaxread(5); + + // Création du formulaire + $form = $this->createForm(FluxType::class,$data,array("mode"=>"submit")); + + // Récupération des data du formulaire + $form->handleRequest($request); + + // Sur erreur + $this->getErrorForm(null,$form,$request,$data,"submit"); + + // Sur validation + if ($form->get('submit')->isClicked() && $form->isValid()) { + $data = $form->getData(); + $em = $this->getDoctrine()->getManager(); + + // Sauvegarde + $em->persist($data); + $em->flush(); + + // Retour à la liste + return $this->redirectToRoute($this->labelroute); + } + + // Affichage du formulaire + return $this->render($this->labelentity.':edit.html.twig', [ + 'useheader' => true, + 'usemenu' => false, + 'usesidebar' => true, + $this->labeldata => $data, + 'mode' => 'submit', + 'icons' => $this->getDoctrine()->getRepository("CadolesPortalBundle:Icon")->findAll(), + 'form' => $form->createView() + ]); + } + + public function updateAction($id,Request $request) + { + // Récupération de l'enregistrement courant + $data=$this->getData($id); + + // Vérifier que cet enregistrement est modifiable + + // Création du formulaire + $form = $this->createForm(FluxType::class,$data,array( + "mode" => "update" + )); + + // Récupération des data du formulaire + $form->handleRequest($request); + + // Sur erreur + $this->getErrorForm($id,$form,$request,$data,"update"); + + // Sur validation + if ($form->get('submit')->isClicked() && $form->isValid()) { + $em = $this->getDoctrine()->getManager(); + $data = $form->getData(); + + // Sauvegarde + $em->persist($data); + $em->flush(); + + // Retour à la liste + return $this->redirectToRoute($this->labelroute); + } + + + // Affichage du formulaire + return $this->render($this->labelentity.':edit.html.twig', [ + 'useheader' => true, + 'usemenu' => false, + 'usesidebar' => true, + $this->labeldata => $data, + 'mode' => 'update', + 'form' => $form->createView() + ]); + } + + public function deleteAction($id,Request $request) + { + // Récupération de l'enregistrement courant + $data=$this->getData($id); + + // Vérifier que cet enregistrement est supprimable + + // Supprimer la donnée + $em = $this->getDoctrine()->getManager(); + $em->remove($data); + $em->flush(); + + return $this->redirectToRoute($this->labelroute); + } + + public function orderAction(Request $request) + { + // S'assurer que c'est un appel ajax + if (!$request->isXmlHttpRequest()) { + return new JsonResponse(array('message' => 'Interdit'), 400); + } + + $output=array(); + $id=$request->request->get('id'); + $order=$request->request->get('order'); + + $em = $this->getDoctrine()->getManager(); + $entity = $em->getRepository($this->labelentity)->find($id); + if (!$entity) { + throw $this->createNotFoundException('Unable to find entity.'); + } + + $entity->setRoworder($order); + $em->persist($entity); + $em->flush(); + + $response = new Response(json_encode($output)); + $response->headers->set('Content-Type', 'application/json'); + return $response; + } + + protected function getDatas() + { + $em = $this->getDoctrine()->getManager(); + $datas = $em->getRepository($this->labelentity)->findAll(); + return $datas; + } + + protected function getData($id) + { + $em = $this->getDoctrine()->getManager(); + $data = $em->getRepository($this->labelentity)->find($id); + + if (!$data) { + throw $this->createNotFoundException('Unable to find '.$this->labeldata); + } + + return $data; + } + + protected function getErrorForm($id,$form,$request,$data,$mode) { + if ($form->get('submit')->isClicked()&&$mode=="delete") { + } + + if ($form->get('submit')->isClicked() && $mode=="submit") { + } + + if ($form->get('submit')->isClicked() && !$form->isValid()) { + $this->get('session')->getFlashBag()->clear(); + $validator = $this->get('validator'); + $errors = $validator->validate($data); + foreach( $errors as $error ) { + $request->getSession()->getFlashBag()->add("error", $error->getMessage()); + } + + $errors = $form->getErrors(); + foreach( $errors as $error ) { + $request->getSession()->getFlashBag()->add("error", $error->getMessage()); + } + } + } +} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/PageController.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/PageController.php index 2726a109..2cfece99 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/PageController.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/PageController.php @@ -136,11 +136,16 @@ class PageController extends Controller public function submitAction(Request $request,$access="config") { $entity = new Page(); + $entity->setMaxwidth(0); + $entity->setRoworder(0); + $form = $this->entityForm($entity,$access); $form->handleRequest($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); + if($access=="user") $entity->setUser($this->getUser()); + $em->persist($entity); $em->flush(); @@ -163,13 +168,16 @@ class PageController extends Controller { $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository($this->labelentity)->find($id); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); - if (!$entity) { - throw $this->createNotFoundException('Unable to find entity.'); - } - + // On s'assure que l'utilisateur à la permission de modifier + if($access=="user") { + $em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate); + if(!$canupdate) throw $this->createNotFoundException('Permission denied'); + } + + // Création du formulaire $form = $this->entityForm($entity,$access); - $form->handleRequest($request); if ($form->isValid()) { @@ -177,8 +185,10 @@ class PageController extends Controller $em->persist($entity); $em->flush(); - $route=str_replace("_config_","_".$access."_",$this->routeprimary); - return $this->redirect($this->generateUrl($route.'_view',["id"=>$id])); + if($access=="config") + return $this->redirect($this->generateUrl($this->routeprimary.'_view',["id"=>$id])); + else + return $this->redirect($this->generateUrl('cadoles_core_home',["id"=>$id])); } @@ -222,108 +232,76 @@ class PageController extends Controller public function deleteAction(Request $request, $id,$access="config") { - $entity = $this->getDoctrine() - ->getRepository($this->labelentity) - ->find($id); - $em = $this->getDoctrine()->getManager(); + $entity = $this->getDoctrine()->getRepository($this->labelentity)->find($id); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // On s'assure que l'utilisateur à la permission de supprimer + if($access=="user") { + $em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate); + if(!$canupdate) throw $this->createNotFoundException('Permission denied'); + } + + // Suppression $em->remove($entity); $em->flush(); - $route=str_replace("_config_","_".$access."_",$this->routeprimary); - return $this->redirect($this->generateUrl($route)); + // Retour + if($access=="config") + return $this->redirect($this->generateUrl($this->routeprimary)); + else + return $this->redirect($this->generateUrl("cadoles_core_home")); } public function viewAction($id,$access=null) { $em = $this->getDoctrine()->getManager(); - $entity = $em->getRepository($this->labelentity)->find($id); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); - if (!$entity) { - throw $this->createNotFoundException('Unable to find entity.'); - } - - // Pages profilé + // Permissions if($access=="config") { - $pages=new ArrayCollection(); - $pages->add($entity); + $canupdate = true; } else { - // Profilage - $user=$this->getUser(); - $roles=($user?$user->getRoles():["ROLE_ANONYME"]); - $groups=($user?$user->getGroups():[]); - - // Initialisation du calcul des pages - $pagesnotorder=new ArrayCollection(); - - // Récupération des pages par rôles - foreach($roles as $role) { - $qb = $em->createQueryBuilder(); - $qb->select('page') - ->from("CadolesPortalBundle:Page", 'page') - ->where($qb->expr()->like('page.roles', $qb->expr()->literal("%$role%"))); - - $pagesroles=$qb->getQuery()->getResult(); - foreach($pagesroles as $pagerole) { - if(!$pagesnotorder->contains($pagerole)) $pagesnotorder->add($pagerole); - } - } - - // Récupération des pages par group - foreach($groups as $group) { - $qb = $em->createQueryBuilder(); - $qb->select('page') - ->from("CadolesPortalBundle:Page", 'page') - ->where(":group MEMBER OF page.groups") - ->setParameter("group",$group->getGroup()); - - $pagesgroups=$qb->getQuery()->getResult(); - foreach($pagesgroups as $pagegroup) { - if(!$pagesnotorder->contains($pagegroup)) $pagesnotorder->add($pagegroup); - } - } - - // Trie des pages - $pages = $pagesnotorder->getIterator(); - $pages->uasort(function ($first, $second) { - return (int) $first->getRowOrder() > (int) $second->getRowOrder() ? 1 : -1; - }); + // On s'assure que l'utilisateur à la permission de voir + $em->getRepository($this->labelentity)->getPermission($this->getUser(),$entity,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); } + // Type URL if($entity->getPageCategory()->getId()==1) { return $this->render($this->labelentity.':viewurl.html.twig', [ - 'useheader' => true, + 'useheader' => ($access=="config"), 'usemenu' => false, 'usesidebar' => ($access=="config"), 'entity' => $entity, 'access' => $access, - 'pages' => $pages + 'canupdate' => $canupdate ]); } // Type Editeur if($entity->getPageCategory()->getId()==2) { return $this->render($this->labelentity.':viewwidget.html.twig', [ - 'useheader' => true, + 'useheader' => ($access=="config"), 'usemenu' => false, 'usesidebar' => ($access=="config"), 'entity' => $entity, 'access' => $access, - 'pages' => $pages, + 'canupdate' => $canupdate, 'widgets' => $this->getDoctrine()->getRepository("CadolesPortalBundle:Widget")->findAll() ]); } // Type Editeur if($entity->getPageCategory()->getId()==3) { return $this->render($this->labelentity.':vieweditor.html.twig', [ - 'useheader' => true, + 'useheader' => ($access=="config"), 'usemenu' => false, 'usesidebar' => ($access=="config"), 'entity' => $entity, 'access' => $access, - 'pages' => $pages + 'canupdate' => $canupdate ]); } diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php index 1e362f1d..ed8ffd55 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php @@ -9,6 +9,9 @@ use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; use Symfony\Component\Security\Http\Event\InteractiveLoginEvent; use Symfony\Component\EventDispatcher\EventDispatcher; use Doctrine\Common\Collections\ArrayCollection; +use Symfony\Component\Finder\Finder; +use Symfony\Component\Filesystem\Filesystem; +use Symfony\Component\HttpFoundation\File\File; use Cadoles\PortalBundle\Entity\Pagewidget; use Cadoles\PortalBundle\Form\PagewidgetType; @@ -77,16 +80,20 @@ class PagewidgetController extends Controller public function submitAction(Request $request,$idpage,$idwidgettype,$access="config") { - $entity = new Pagewidget(); $form = $this->entityForm($entity,$idpage,$idwidgettype,$access); $form->handleRequest($request); + // On s'assure que la page où l'on souhaite insérer un widget est bien du bon type + $page=$this->getDoctrine()->getRepository("CadolesPortalBundle:Page")->findoneby(["id"=>$idpage]); + if (!$page) + throw $this->createNotFoundException('Unable to find entity.'); + if($page->getPagecategory()->getId()!=2) + throw $this->createNotFoundException('Permission denied'); if ($form->isValid()) { $idicon = $form->get('idicon')->getData(); $icon=$this->getDoctrine()->getRepository("CadolesPortalBundle:Icon")->findoneby(["id"=>$idicon]); - $panel=$this->getDoctrine()->getRepository("CadolesPortalBundle:Page")->findoneby(["id"=>$idpage]); $widgettype=$this->getDoctrine()->getRepository("CadolesPortalBundle:Widget")->findoneby(["id"=>$idwidgettype]); // Localisation par défaut en R1C1 @@ -95,7 +102,7 @@ class PagewidgetController extends Controller // Rattachement icon / panel / widgettype $entity->setIcon($icon); - $entity->setPage($panel); + $entity->setPage($page); $entity->setWidget($widgettype); // Récupération des paramétres @@ -114,8 +121,11 @@ class PagewidgetController extends Controller $em = $this->getDoctrine()->getManager(); $em->persist($entity); $em->flush(); - - return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_page_view',["id"=>$idpage])); + + if($access=="config") + return $this->redirect($this->generateUrl('cadoles_portal_config_page_view',["id"=>$idpage])); + else + return $this->redirect($this->generateUrl('cadoles_core_home',["id"=>$idpage])); } return $this->render($this->labelentity.':edit.html.twig', [ @@ -133,15 +143,22 @@ class PagewidgetController extends Controller public function updateAction(Request $request,$idpage,$idwidget,$access="config") { + // Recherche du pagewidget $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository($this->labelentity)->find($idwidget); - if (!$entity) { - throw $this->createNotFoundException('Unable to find entity.'); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // On s'assure que l'utilisateur à la permission de modifier + if($access=="user") { + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$entity->getPage(),$cansee,$canupdate); + if(!$canupdate) throw $this->createNotFoundException('Permission denied'); } + // Création du formulaire $form = $this->entityForm($entity,$idpage,$idwidget,$access); $form->handleRequest($request); + // Validation if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); @@ -172,7 +189,7 @@ class PagewidgetController extends Controller } return $this->render($this->labelentity.':edit.html.twig', [ - 'useheader' => true, + 'useheader' => ($access=="config"), 'usemenu' => false, 'usesidebar' => ($access=="config"), 'entity' => $entity, @@ -184,23 +201,27 @@ class PagewidgetController extends Controller ]); } - public function deleteAction(Request $request) + public function deleteAction(Request $request,$access="config") { // S'assurer que c'est un appel ajax - if (!$request->isXmlHttpRequest()) { - return new JsonResponse(array('message' => 'Interdit'), 400); - } + if (!$request->isXmlHttpRequest()) return new JsonResponse(array('message' => 'Interdit'), 400); + // Récupération des parametres $output=array(); $idwidget=$request->request->get('idwidget'); + // Recherche du pagetwidget $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository($this->labelentity)->find($idwidget); - if (!$entity) { - throw $this->createNotFoundException('Unable to find entity.'); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // On s'assure que l'utilisateur à la permission de supprimer + if($access=="user") { + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$entity->getPage(),$cansee,$canupdate); + if(!$canupdate) throw $this->createNotFoundException('Permission denied'); } - $em = $this->getDoctrine()->getManager(); + // Supression du pagewidget $em->remove($entity); $em->flush(); @@ -212,9 +233,7 @@ class PagewidgetController extends Controller public function orderAction(Request $request) { // S'assurer que c'est un appel ajax - if (!$request->isXmlHttpRequest()) { - return new JsonResponse(array('message' => 'Interdit'), 400); - } + if (!$request->isXmlHttpRequest()) return new JsonResponse(array('message' => 'Interdit'), 400); $output=array(); $idwidget=$request->request->get('idwidget'); @@ -237,11 +256,20 @@ class PagewidgetController extends Controller return $response; } - public function viewurlAction($id) { + public function viewurlAction($id,$access="config") { $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository($this->labelentity)->find($id); - if (!$entity) { - throw $this->createNotFoundException('Unable to find entity.'); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // Permissions + if($access=="config") { + $canupdate = true; + } + else { + // On s'assure que l'utilisateur à la permission de voir + $page=$entity->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); } $url=""; @@ -270,17 +298,28 @@ class PagewidgetController extends Controller return $this->render($this->labelentity.':viewurl.html.twig', [ - 'entity' => $entity, - 'url' => $url, - 'imagemedia' => $imagemedia + 'entity' => $entity, + 'canupdate' => $canupdate, + 'url' => $url, + 'imagemedia' => $imagemedia, + 'access' => $access ]); } - public function viewitemAction($id) { + public function viewitemAction($id,$access="config") { $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository($this->labelentity)->find($id); - if (!$entity) { - throw $this->createNotFoundException('Unable to find entity.'); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // Permissions + if($access=="config") { + $canupdate = true; + } + else { + // On s'assure que l'utilisateur à la permission de voir + $page=$entity->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); } // Récupération des paramétres du widget @@ -292,6 +331,10 @@ class PagewidgetController extends Controller $modedesktop=$parameter["value"]; break; + case "withbookmark": + $withbookmark=$parameter["value"]; + break; + case "itemcategory": $iditemcategory=$parameter["value"]; if($iditemcategory) $itemcategoryfilter=$em->getRepository("CadolesPortalBundle:Itemcategory")->find($iditemcategory); @@ -305,6 +348,17 @@ class PagewidgetController extends Controller $roles=($user?$user->getRoles():["ROLE_ANONYME"]); $groups=($user?$user->getGroups():[]); + // Bookmark de l'utilisateur + $bookmarks = array(); + if($user) + $bookmarks=$em->getRepository("CadolesPortalBundle:Bookmark")->findBy(["user"=>$user]); + + // Bookmark lié à un item + $bookmarksitems=new ArrayCollection(); + foreach($bookmarks as $bookmark) { + if($bookmark->getItem()) $bookmarksitems->add($bookmark->getItem()); + } + // Initialisation du calcul des items $items=new ArrayCollection(); @@ -321,7 +375,7 @@ class PagewidgetController extends Controller } $itemsroles=$qb->getQuery()->getResult(); foreach($itemsroles as $itemrole) { - if(!$items->contains($itemrole)) $items->add($itemrole); + if(!$bookmarksitems->contains($itemrole) && !$items->contains($itemrole)) $items->add($itemrole); } } @@ -339,7 +393,7 @@ class PagewidgetController extends Controller } $itemsgroups=$qb->getQuery()->getResult(); foreach($itemsgroups as $itemgroup) { - if(!$items->contains($itemgroup)) $items->add($itemgroup); + if(!$bookmarksitems->contains($itemgroup) && !$items->contains($itemgroup)) $items->add($itemgroup); } } @@ -353,20 +407,42 @@ class PagewidgetController extends Controller $itemcategorys = $this->getDoctrine()->getRepository('CadolesPortalBundle:Itemcategory')->findBy([], ['rowOrder' => 'asc']); if($iditemcategory && $itemcategoryfilter) $itemcategorys = $itemcategoryfilter; + switch($withbookmark) { + // items uniquement + case 1: $bookmarks=null; break; + + // bookmarks uniquement + case 2: $itemsordered=null; break; + + } + // Render return $this->render($this->labelentity.':viewitem.html.twig', [ - 'entity' => $entity, - 'modedesktop' => $modedesktop, - 'items' => $itemsordered, - 'itemcategorys' => $itemcategorys + 'entity' => $entity, + 'canadd' => ($user), + 'canupdate' => $canupdate, + 'modedesktop' => $modedesktop, + 'items' => $itemsordered, + 'itemcategorys' => $itemcategorys, + 'bookmarks' => $bookmarks, + 'access' => $access, ]); } - public function viewalertAction($id) { + public function viewalertAction($id,$access="config") { $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository($this->labelentity)->find($id); - if (!$entity) { - throw $this->createNotFoundException('Unable to find entity.'); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // Permissions + if($access=="config") { + $canupdate = true; + } + else { + // On s'assure que l'utilisateur à la permission de voir + $page=$entity->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); } // Récupération des paramétres du widget @@ -388,7 +464,7 @@ class PagewidgetController extends Controller // Initialisation du calcul des alerts $alerts=new ArrayCollection(); -dump("yo"); + // Récupération des alerts par rôles foreach($roles as $role) { $qb = $em->createQueryBuilder(); @@ -432,8 +508,507 @@ dump("yo"); // Render return $this->render($this->labelentity.':viewalert.html.twig', [ - 'entity' => $entity, - 'alerts' => $alertsordered + 'entity' => $entity, + 'canupdate' => $canupdate, + 'alerts' => $alertsordered, + 'access' => $access ]); } + + + public function viewfluxAction($id,$access="config") { + $em = $this->getDoctrine()->getManager(); + $entity = $em->getRepository($this->labelentity)->find($id); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // Permissions + if($access=="config") { + $canupdate = true; + } + else { + // On s'assure que l'utilisateur à la permission de voir + $page=$entity->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); + } + + // Profilage + $user=$this->getUser(); + $roles=($user?$user->getRoles():["ROLE_ANONYME"]); + $groups=($user?$user->getGroups():[]); + + // Initialisation du calcul des fluxs + $fluxs=new ArrayCollection(); + + // Récupération des fluxs par rôles + foreach($roles as $role) { + $qb = $em->createQueryBuilder(); + $qb->select('flux') + ->from("CadolesPortalBundle:Flux", 'flux') + ->where($qb->expr()->like('flux.roles', $qb->expr()->literal("%$role%"))); + + $fluxsroles=$qb->getQuery()->getResult(); + foreach($fluxsroles as $fluxrole) { + if(!$fluxs->contains($fluxrole)) $fluxs->add($fluxrole); + } + } + + // Récupération des fluxs par group + foreach($groups as $group) { + $qb = $em->createQueryBuilder(); + $qb->select('flux') + ->from("CadolesPortalBundle:Flux", 'flux') + ->where(":group MEMBER OF flux.groups") + ->setParameter("group",$group->getGroup()); + + $fluxsgroups=$qb->getQuery()->getResult(); + foreach($fluxsgroups as $fluxgroup) { + if(!$fluxs->contains($fluxgroup)) $fluxs->add($fluxgroup); + } + } + + // Trie des fluxs + $fluxsordered = $fluxs->getIterator(); + $fluxsordered->uasort(function ($first, $second) { + return (int) $first->getRowOrder() > (int) $second->getRowOrder() ? 1 : -1; + }); + + + // Connexion au client + $PROXYactivate = $em->getRepository("CadolesCoreBundle:Config")->find("PROXYactivate")->getValue(); + + if($PROXYactivate) { + $PROXYserver = $em->getRepository("CadolesCoreBundle:Config")->find("PROXYserver")->getValue(); + $PROXYport = $em->getRepository("CadolesCoreBundle:Config")->find("PROXYport")->getValue(); + $clientguzzle = new \GuzzleHttp\Client(array('proxy' => ['http' => 'tcp://'.$PROXYserver.':'.$PROXYport,'https' => 'tcp://'.$PROXYserver.':'.$PROXYport])); + } + else + $clientguzzle = new \GuzzleHttp\Client(); + + $client = new \FeedIo\Adapter\Guzzle\Client($clientguzzle); + $logger = new \Psr\Log\NullLogger(); + $feedIo = new \FeedIo\FeedIo($client, $logger); + + $feeds=array(); + + + foreach($fluxsordered as $flux) { + // On regarde si le flux a été lu il y a peu + + // On lit le flux rss + $result = $feedIo->read($flux->getUrl()); + $feedtitle = $result->getFeed()->getTitle(); + + // Pour chaque articles + $nbflux=0; + foreach ($result->getFeed() as $item) { + $title = $item->getTitle(); + $link = $item->getLink(); + $description = substr(strip_tags($item->getDescription()),0,250); + $description = str_replace("¶","",$description); + $date = $item->getLastModified(); + $dateformat = $item->getLastModified()->format('d/m/Y H:i:s'); + $content = $item->getDescription(); + $media = $item->getMedias(); + $mediaurl = ""; + + foreach ($item->getMedias() as $itemMedia) { + if($itemMedia->getType()=="image/jpeg") + $mediaurl=$itemMedia->getUrl(); + } + + foreach ($item->getAllElements() as $element) { + + if($element->getName()=="content:encoded") + $content = $element->getValue(); + } + + if($mediaurl!="") { + $imgurl=$mediaurl; + } + else { + // Récupérer la première image du contenu + $imgcontent=""; + $imgurl=""; + $imgstart = stripos($content,"",$imgstart); + $imgcontent=substr($content,$imgstart,$imgend-$imgstart+1); + + $imgstart = stripos($imgcontent,"src="); + $imgurl=substr($imgcontent,$imgstart+5); + $imgend = stripos($imgurl,'"'); + + if($imgend===false) $imgend = stripos($imgurl,"'"); + $imgurl=substr($imgurl,0,$imgend); + } + } + + // Garder le flux + if($nbflux<26) { + array_push($feeds,array( + "feedtitle" => $feedtitle, + "title" => $title, + "link" => $link, + "description" => $description, + "date" => $date, + "dateformat" => $dateformat, + "content" => $content, + "image" => $imgurl, + "color" => $flux->getColor(), + "fluxid" => $flux->getId(), + )); + } + $nbflux++; + if($nbflux>=$flux->getMaxread()) break; + } + } + + $libelle=array(); + foreach ($feeds as $key => $valeur) { + $libelle[$key] = $valeur["date"]; + } + array_multisort($libelle, SORT_DESC, $feeds); + + // Render + return $this->render($this->labelentity.':viewflux.html.twig', [ + 'entity' => $entity, + 'canupdate' => $canupdate, + 'fluxs' => $fluxsordered, + 'access' => $access, + 'feeds' => $feeds, + ]); + } + + + public function viewbookmarkAction($id,$access="config") { + $em = $this->getDoctrine()->getManager(); + $entity = $em->getRepository($this->labelentity)->find($id); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // Permissions + if($access=="config") { + $canupdate = true; + } + else { + // On s'assure que l'utilisateur à la permission de voir + $page=$entity->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); + } + + // Récupération des paramétres du widget + $modedesktop=0; + foreach($entity->getParameter()["fields"] as $parameter) { + switch($parameter["id"]) { + case "modedesktop": + $modedesktop=$parameter["value"]; + break; + } + } + + // Profilage + $user=$this->getUser(); + + // Bookmark du widget + $bookmarks=$em->getRepository("CadolesPortalBundle:Bookmark")->findBy(["pagewidget"=>$entity]); + + // Render + return $this->render($this->labelentity.':viewbookmark.html.twig', [ + 'entity' => $entity, + 'canadd' => ($user), + 'canupdate' => $canupdate, + 'modedesktop' => $modedesktop, + 'bookmarks' => $bookmarks, + 'access' => $access, + ]); + } + + public function viewlinkAction($id,$access="config") { + $em = $this->getDoctrine()->getManager(); + $entity = $em->getRepository($this->labelentity)->find($id); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // Permissions + if($access=="config") { + $canupdate = true; + } + else { + // On s'assure que l'utilisateur à la permission de voir + $page=$entity->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); + } + + // Récupération des paramétres du widget + $url=""; + $target="_blank"; + foreach($entity->getParameter()["fields"] as $parameter) { + switch($parameter["id"]) { + case "url": + $url=$parameter["value"]; + break; + case "target": + $target=$parameter["value"]; + break; + } + } + + // Render + return $this->render($this->labelentity.':viewlink.html.twig', [ + 'entity' => $entity, + 'canadd' => false, + 'canupdate' => $canupdate, + 'url' => $url, + 'target' => $target, + 'access' => $access, + ]); + } + + public function vieweditorAction($id,$access="config") { + $em = $this->getDoctrine()->getManager(); + $entity = $em->getRepository($this->labelentity)->find($id); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // Permissions + if($access=="config") { + $canupdate = true; + } + else { + // On s'assure que l'utilisateur à la permission de voir + $page=$entity->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); + } + + // Récupération des paramétres du widget + $html=""; + foreach($entity->getParameter()["fields"] as $parameter) { + switch($parameter["id"]) { + case "html": + $html=$parameter["value"]; + break; + + } + } + + // Render + return $this->render($this->labelentity.':vieweditor.html.twig', [ + 'entity' => $entity, + 'canadd' => false, + 'canupdate' => $canupdate, + 'html' => $html, + 'access' => $access, + ]); + } + + public function viewslideAction($id,$access="config") { + $em = $this->getDoctrine()->getManager(); + $entity = $em->getRepository($this->labelentity)->find($id); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // Permissions + if($access=="config") { + $canupdate = true; + } + else { + // On s'assure que l'utilisateur à la permission de voir + $page=$entity->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); + } + + // Parametres + $interval="2"; + foreach($entity->getParameter()["fields"] as $parameter) { + switch($parameter["id"]) { + case "interval": + $interval=$parameter["value"]; + break; + } + } + + $slides=$em->getRepository("CadolesPortalBundle:Slide")->findBy(["pagewidget"=>$entity],['roworder'=>'ASC','title'=>'ASC']); + + // Render + return $this->render($this->labelentity.':viewslide.html.twig', [ + 'entity' => $entity, + 'canadd' => $canupdate, + 'canupdate' => $canupdate, + 'slides' => $slides, + 'interval' => $interval, + 'access' => $access, + ]); + } + + public function viewfileAction($id,$access="config") { + $em = $this->getDoctrine()->getManager(); + $entity = $em->getRepository($this->labelentity)->find($id); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // Permissions + if($access=="config") { + $canupdate = true; + } + else { + // On s'assure que l'utilisateur à la permission de voir + $page=$entity->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); + } + + $directory=$this->get('kernel')->getRootDir()."/../uploads/file/widget-".$id; + $files=[]; + $fs = new Filesystem(); + + if($fs->exists($directory)) { + $finder = new Finder(); + $finder->sortByName()->in($directory)->exclude('thumb'); + + + foreach ($finder as $file) { + $tmp=[]; + $tmp["name"]=$file->getRelativePathname(); + $tmp["extension"]=$file->getExtension(); + $fileinfo = new file($file->getPathname()); + $tmp["minetype"]=$fileinfo->getMimeType(); + $tmp["minefamily"]=explode("/",$tmp["minetype"])[0]; + + $tmp["thumb"]=""; + if($fs->exists($directory."/thumb/".$tmp["name"])) { + $data = file_get_contents($directory."/thumb/".$tmp["name"]); + $tmp["thumb"]="data:image/" . $tmp["extension"] . ";base64," . base64_encode($data); + } + + array_push($files,$tmp); + } + } + + // Render + return $this->render($this->labelentity.':viewfile.html.twig', [ + 'entity' => $entity, + 'canadd' => $canupdate, + 'canupdate' => $canupdate, + 'files' => $files, + 'access' => $access, + ]); + } + + public function viewgaleryAction($id,$access="config") { + $em = $this->getDoctrine()->getManager(); + $entity = $em->getRepository($this->labelentity)->find($id); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // Permissions + if($access=="config") { + $canupdate = true; + } + else { + // On s'assure que l'utilisateur à la permission de voir + $page=$entity->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); + } + + $directory=$this->get('kernel')->getRootDir()."/../uploads/file/widget-".$id; + $files=[]; + $fs = new Filesystem(); + + if($fs->exists($directory)) { + $finder = new Finder(); + $finder->sortByName()->in($directory)->exclude('thumb'); + + foreach ($finder as $file) { + $tmp=[]; + $tmp["name"]=$file->getRelativePathname(); + $tmp["extension"]=$file->getExtension(); + $fileinfo = new file($file->getPathname()); + $tmp["minetype"]=$fileinfo->getMimeType(); + $tmp["minefamily"]=explode("/",$tmp["minetype"])[0]; + + $tmp["thumb"]=""; + if($fs->exists($directory."/thumb/".$tmp["name"])) { + $data = file_get_contents($directory."/thumb/".$tmp["name"]); + $tmp["thumb"]="data:image/" . $tmp["extension"] . ";base64," . base64_encode($data); + } + + array_push($files,$tmp); + } + } + + // Render + return $this->render($this->labelentity.':viewgalery.html.twig', [ + 'entity' => $entity, + 'canadd' => $canupdate, + 'canupdate' => $canupdate, + 'files' => $files, + 'access' => $access, + ]); + } + + + public function viewclockAction($id,$access="config") { + $em = $this->getDoctrine()->getManager(); + $entity = $em->getRepository($this->labelentity)->find($id); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // Permissions + if($access=="config") { + $canupdate = true; + } + else { + // On s'assure que l'utilisateur à la permission de voir + $page=$entity->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); + } + + // Parametres + $clock="0"; + foreach($entity->getParameter()["fields"] as $parameter) { + switch($parameter["id"]) { + case "clock": + $clock=$parameter["value"]; + break; + } + } + + // Render + return $this->render($this->labelentity.':viewframe.html.twig', [ + 'entity' => $entity, + 'canadd' => $canupdate, + 'canupdate' => $canupdate, + 'onheader' => true, + 'tool' => ($clock==0?"cadoles_portal_user_tool_clockanalogique":"cadoles_portal_user_tool_clocknumerique"), + 'access' => $access, + ]); + } + + public function viewcalculatorAction($id,$access="config") { + $em = $this->getDoctrine()->getManager(); + $entity = $em->getRepository($this->labelentity)->find($id); + if (!$entity) throw $this->createNotFoundException('Unable to find entity.'); + + // Permissions + if($access=="config") { + $canupdate = true; + } + else { + // On s'assure que l'utilisateur à la permission de voir + $page=$entity->getPage(); + $em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate); + if(!$cansee) throw $this->createNotFoundException('Permission denied'); + } + + + // Render + return $this->render($this->labelentity.':viewframe.html.twig', [ + 'entity' => $entity, + 'canadd' => $canupdate, + 'canupdate' => $canupdate, + 'onheader' => true, + 'tool' => "cadoles_portal_user_tool_calculator", + 'access' => $access, + ]); + } } diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/SlideController.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/SlideController.php new file mode 100644 index 00000000..60dea276 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/SlideController.php @@ -0,0 +1,228 @@ +getDoctrine()->getManager(); + $pagewidget = $em->getRepository("CadolesPortalBundle:Pagewidget")->find($idwidget); + if (!$pagewidget) throw $this->createNotFoundException('Unable to find entity.'); + + // Vérifier que l'on générer un slide + if($access=="user") { + $user=$pagewidget->getPage()->getUser(); + if($user!=$this->getUser()) throw $this->createNotFoundException('Permission denied'); + } + + // Recherche des slides du widget + $datas = $em->getRepository($this->labelentity)->findBy(["pagewidget"=>$idwidget],["roworder"=>"ASC","title"=>"ASC"]); + + return $this->render($this->labelentity.':list.html.twig',[ + 'useheader' => ($access=="config"), + 'usemenu' => false, + 'usesidebar' => ($access=="config"), + 'access' => $access, + 'idpage' => $idpage, + 'idwidget' => $idwidget, + $this->labeldatas => $datas + ]); + } + + public function submitAction(Request $request,$idpage,$idwidget,$access="config") + { + // Initialisation de l'enregistrement + $em = $this->getDoctrine()->getManager(); + $data = new Slide(); + $data->setRoworder(0); + + // On s'assure que le widget existe + $pagewidget = $em->getRepository("CadolesPortalBundle:Pagewidget")->find($idwidget); + if (!$pagewidget) throw $this->createNotFoundException('Unable to find entity.'); + + // Vérifier que l'on générer un slide + if($access=="user") { + $user=$pagewidget->getPage()->getUser(); + if($user!=$this->getUser()) throw $this->createNotFoundException('Permission denied'); + } + + // Création du formulaire + $form = $this->createForm(SlideType::class,$data,array("mode"=>"submit")); + + // Récupération des data du formulaire + $form->handleRequest($request); + + // Sur erreur + $this->getErrorForm(null,$form,$request,$data,"submit"); + + // Sur validation + if ($form->get('submit')->isClicked() && $form->isValid()) { + $data = $form->getData(); + $data->setPagewidget($pagewidget); + + // Sauvegarde + $em->persist($data); + $em->flush(); + + // Retour à la page + return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_slide_list',["idpage"=>$idpage,"idwidget"=>$idwidget])); + } + + return $this->render($this->labelentity.':edit.html.twig', [ + 'useheader' => ($access=="config"), + 'usemenu' => false, + 'usesidebar' => ($access=="config"), + 'entity' => $data, + 'mode' => "submit", + 'access' => $access, + 'idpage' => $idpage, + 'idwidget' => $idwidget, + 'form' => $form->createView(), + ]); + } + + public function updateAction(Request $request,$idpage,$id,$access="config") + { + // Récupération de l'enregistrement courant + $em = $this->getDoctrine()->getManager(); + $data=$this->getData($id); + if (!$data) throw $this->createNotFoundException('Unable to find entity.'); + + // Vérifier que cet enregistrement est modifiable + if($access=="user") { + $user=$data->getPagewidget()->getPage()->getUser(); + if($user!=$this->getUser()) throw $this->createNotFoundException('Permission denied'); + } + + // Création du formulaire + $form = $this->createForm(SlideType::class,$data,array( + "mode" => "update" + )); + + // Récupération des data du formulaire + $form->handleRequest($request); + + // Sur erreur + $this->getErrorForm($id,$form,$request,$data,"update"); + + // Sur validation + if ($form->get('submit')->isClicked() && $form->isValid()) { + $data = $form->getData(); + + // Sauvegarde + $em->persist($data); + $em->flush(); + + // Retour à la page + return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_slide_list',["idpage"=>$idpage,"idwidget"=>$data->getPagewidget()->getId()])); + } + + + // Affichage du formulaire + return $this->render($this->labelentity.':edit.html.twig', [ + 'useheader' => ($access=="config"), + 'usemenu' => false, + 'usesidebar' => ($access=="config"), + 'entity' => $data, + 'mode' => "update", + 'access' => $access, + 'idpage' => $idpage, + 'idwidget' => $data->getPagewidget()->getId(), + 'form' => $form->createView(), + ]); + } + + public function deleteAction(Request $request,$idpage,$id,$access="config") + { + // Récupération de l'enregistrement courant + $em = $this->getDoctrine()->getManager(); + $data=$this->getData($id); + if (!$data) throw $this->createNotFoundException('Unable to find entity.'); + + // Vérifier que cet enregistrement est supprimable + if($access=="user") { + $user=$data->getPagewidget()->getPage()->getUser(); + if($user!=$this->getUser()) throw $this->createNotFoundException('Permission denied'); + } + + // Widget encours + $idwidget = $data->getPagewidget()->getId(); + + // Supprimer la donnée + $em = $this->getDoctrine()->getManager(); + $em->remove($data); + $em->flush(); + + // Retour à la page + return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_slide_list',["idpage"=>$idpage,"idwidget"=>$idwidget])); + return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_page_view',["id"=>$idpage])); + } + + public function uploadAction($access="config") + { + return $this->render('CadolesPortalBundle:Slide:upload.html.twig',[ + 'useheader' => false, + 'usemenu' => false, + 'usesidebar' => false, + 'access' => $access + ]); + } + + protected function getDatas() + { + $em = $this->getDoctrine()->getManager(); + $datas = $em->getRepository($this->labelentity)->findAll(); + return $datas; + } + + protected function getData($id) + { + $em = $this->getDoctrine()->getManager(); + $data = $em->getRepository($this->labelentity)->find($id); + + if (!$data) { + throw $this->createNotFoundException('Unable to find '.$this->labeldata); + } + + return $data; + } + + protected function getErrorForm($id,$form,$request,$data,$mode) { + if ($form->get('submit')->isClicked()&&$mode=="delete") { + } + + if ($form->get('submit')->isClicked() && $mode=="submit") { + } + + if ($form->get('submit')->isClicked() && !$form->isValid()) { + $this->get('session')->getFlashBag()->clear(); + $validator = $this->get('validator'); + $errors = $validator->validate($data); + foreach( $errors as $error ) { + $request->getSession()->getFlashBag()->add("error", $error->getMessage()); + } + + $errors = $form->getErrors(); + foreach( $errors as $error ) { + $request->getSession()->getFlashBag()->add("error", $error->getMessage()); + } + } + } +} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/ToolController.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/ToolController.php new file mode 100644 index 00000000..43c933a2 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Controller/ToolController.php @@ -0,0 +1,58 @@ +query->get('colorbodyfont'); + $colorbodyback=$request->query->get('colorbodyback'); + + return $this->render('CadolesPortalBundle:Tool:clockanalogique.html.twig',[ + 'useheader' => false, + 'usemenu' => false, + 'usesidebar' => false, + 'colorbodyback' => $colorbodyback, + 'colorbodyfont' => $colorbodyfont + ]); + } + + public function clocknumeriqueAction(Request $request) + { + $colorbodyfont=$request->query->get('colorbodyfont'); + $colorbodyback=$request->query->get('colorbodyback'); + + return $this->render('CadolesPortalBundle:Tool:clocknumerique.html.twig',[ + 'useheader' => false, + 'usemenu' => false, + 'usesidebar' => false, + 'colorbodyback' => $colorbodyback, + 'colorbodyfont' => $colorbodyfont + ]); + } + + public function calculatorAction(Request $request) + { + $colorbodyfont=$request->query->get('colorbodyfont'); + $colorbodyback=$request->query->get('colorbodyback'); + + return $this->render('CadolesPortalBundle:Tool:calculator.html.twig',[ + 'useheader' => false, + 'usemenu' => false, + 'usesidebar' => false, + 'colorbodyback' => $colorbodyback, + 'colorbodyfont' => $colorbodyfont + ]); + } +} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Bookmark.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Bookmark.php new file mode 100644 index 00000000..ffd85fdd --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Bookmark.php @@ -0,0 +1,344 @@ +id; + } + + /** + * Set title + * + * @param string $title + * + * @return Bookmark + */ + public function setTitle($title) + { + $this->title = $title; + + return $this; + } + + /** + * Get title + * + * @return string + */ + public function getTitle() + { + return $this->title; + } + + /** + * Set subtitle + * + * @param string $subtitle + * + * @return Bookmark + */ + public function setSubtitle($subtitle) + { + $this->subtitle = $subtitle; + + return $this; + } + + /** + * Get subtitle + * + * @return string + */ + public function getSubtitle() + { + return $this->subtitle; + } + + /** + * Set url + * + * @param string $url + * + * @return Bookmark + */ + public function setUrl($url) + { + $this->url = $url; + + return $this; + } + + /** + * Get url + * + * @return string + */ + public function getUrl() + { + return $this->url; + } + + /** + * Set target + * + * @param string $target + * + * @return Bookmark + */ + public function setTarget($target) + { + $this->target = $target; + + return $this; + } + + /** + * Get target + * + * @return string + */ + public function getTarget() + { + return $this->target; + } + + /** + * Set rowOrder + * + * @param integer $rowOrder + * + * @return Bookmark + */ + public function setRowOrder($rowOrder) + { + $this->rowOrder = $rowOrder; + + return $this; + } + + /** + * Get rowOrder + * + * @return integer + */ + public function getRowOrder() + { + return $this->rowOrder; + } + + /** + * Set color + * + * @param string $color + * + * @return Bookmark + */ + public function setColor($color) + { + $this->color = $color; + + return $this; + } + + /** + * Get color + * + * @return string + */ + public function getColor() + { + return $this->color; + } + + /** + * Set icon + * + * @param \Cadoles\PortalBundle\Entity\Icon $icon + * + * @return Bookmark + */ + public function setIcon(\Cadoles\PortalBundle\Entity\Icon $icon = null) + { + $this->icon = $icon; + + return $this; + } + + /** + * Get icon + * + * @return \Cadoles\PortalBundle\Entity\Icon + */ + public function getIcon() + { + return $this->icon; + } + + /** + * Set user + * + * @param \Cadoles\CoreBundle\Entity\User $user + * + * @return Bookmark + */ + public function setUser(\Cadoles\CoreBundle\Entity\User $user = null) + { + $this->user = $user; + + return $this; + } + + /** + * Get user + * + * @return \Cadoles\CoreBundle\Entity\User + */ + public function getUser() + { + return $this->user; + } + + /** + * Set pagewidget + * + * @param \Cadoles\PortalBundle\Entity\Pagewidget $pagewidget + * + * @return Bookmark + */ + public function setPagewidget(\Cadoles\PortalBundle\Entity\Pagewidget $pagewidget = null) + { + $this->pagewidget = $pagewidget; + + return $this; + } + + /** + * Get pagewidget + * + * @return \Cadoles\PortalBundle\Entity\Pagewidget + */ + public function getPagewidget() + { + return $this->pagewidget; + } + + /** + * Set item + * + * @param \Cadoles\PortalBundle\Entity\Item $item + * + * @return Bookmark + */ + public function setItem(\Cadoles\PortalBundle\Entity\Item $item = null) + { + $this->item = $item; + + return $this; + } + + /** + * Get item + * + * @return \Cadoles\PortalBundle\Entity\Item + */ + public function getItem() + { + return $this->item; + } +} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Flux.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Flux.php new file mode 100644 index 00000000..8498a10a --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Flux.php @@ -0,0 +1,275 @@ +groups = new \Doctrine\Common\Collections\ArrayCollection(); + } + + /** + * Get id + * + * @return integer + */ + public function getId() + { + return $this->id; + } + + /** + * Set title + * + * @param string $title + * + * @return Flux + */ + public function setTitle($title) + { + $this->title = $title; + + return $this; + } + + /** + * Get title + * + * @return string + */ + public function getTitle() + { + return $this->title; + } + + /** + * Set rowOrder + * + * @param integer $rowOrder + * + * @return Flux + */ + public function setRowOrder($rowOrder) + { + $this->rowOrder = $rowOrder; + + return $this; + } + + /** + * Get rowOrder + * + * @return integer + */ + public function getRowOrder() + { + return $this->rowOrder; + } + + /** + * Set url + * + * @param string $url + * + * @return Flux + */ + public function setUrl($url) + { + $this->url = $url; + + return $this; + } + + /** + * Get url + * + * @return string + */ + public function getUrl() + { + return $this->url; + } + + /** + * Set maxread + * + * @param integer $maxread + * + * @return Flux + */ + public function setMaxread($maxread) + { + $this->maxread = $maxread; + + return $this; + } + + /** + * Get maxread + * + * @return integer + */ + public function getMaxread() + { + return $this->maxread; + } + + /** + * Set color + * + * @param string $color + * + * @return Flux + */ + public function setColor($color) + { + $this->color = $color; + + return $this; + } + + /** + * Get color + * + * @return string + */ + public function getColor() + { + return $this->color; + } + + /** + * Set roles + * + * @param array $roles + * + * @return Flux + */ + public function setRoles($roles) + { + $this->roles = $roles; + + return $this; + } + + /** + * Get roles + * + * @return array + */ + public function getRoles() + { + return $this->roles; + } + + /** + * Add group + * + * @param \Cadoles\CoreBundle\Entity\Group $group + * + * @return Flux + */ + public function addGroup(\Cadoles\CoreBundle\Entity\Group $group) + { + $this->groups[] = $group; + + return $this; + } + + /** + * Remove group + * + * @param \Cadoles\CoreBundle\Entity\Group $group + */ + public function removeGroup(\Cadoles\CoreBundle\Entity\Group $group) + { + $this->groups->removeElement($group); + } + + /** + * Get groups + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getGroups() + { + return $this->groups; + } +} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Icon.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Icon.php index b3e80e89..b38e5d06 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Icon.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Icon.php @@ -35,6 +35,43 @@ class Icon */ private $items; + /** + * @var ArrayCollection $pagewidgets + * @var Pagewidget + * + * @ORM\OneToMany(targetEntity="Pagewidget", mappedBy="icon", cascade={"persist"}, orphanRemoval=false) + */ + private $pagewidgets; + + /** + * @var ArrayCollection $widgets + * @var Widget + * + * @ORM\OneToMany(targetEntity="Widget", mappedBy="icon", cascade={"persist"}, orphanRemoval=false) + */ + private $widgets; + + + /** + * @var ArrayCollection $bookmarks + * @var Bookmark + * + * @ORM\OneToMany(targetEntity="Bookmark", mappedBy="icon", cascade={"persist"}, orphanRemoval=false) + */ + private $bookmarks; + + + /** + * Constructor + */ + public function __construct() + { + $this->items = new \Doctrine\Common\Collections\ArrayCollection(); + $this->pagewidgets = new \Doctrine\Common\Collections\ArrayCollection(); + $this->widgets = new \Doctrine\Common\Collections\ArrayCollection(); + $this->bookmarks = new \Doctrine\Common\Collections\ArrayCollection(); + } + /** * Get id * @@ -68,13 +105,6 @@ class Icon { return $this->label; } - /** - * Constructor - */ - public function __construct() - { - $this->items = new \Doctrine\Common\Collections\ArrayCollection(); - } /** * Add item @@ -109,4 +139,106 @@ class Icon { return $this->items; } + + /** + * Add pagewidget + * + * @param \Cadoles\PortalBundle\Entity\Pagewidget $pagewidget + * + * @return Icon + */ + public function addPagewidget(\Cadoles\PortalBundle\Entity\Pagewidget $pagewidget) + { + $this->pagewidgets[] = $pagewidget; + + return $this; + } + + /** + * Remove pagewidget + * + * @param \Cadoles\PortalBundle\Entity\Pagewidget $pagewidget + */ + public function removePagewidget(\Cadoles\PortalBundle\Entity\Pagewidget $pagewidget) + { + $this->pagewidgets->removeElement($pagewidget); + } + + /** + * Get pagewidgets + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getPagewidgets() + { + return $this->pagewidgets; + } + + /** + * Add widget + * + * @param \Cadoles\PortalBundle\Entity\Widget $widget + * + * @return Icon + */ + public function addWidget(\Cadoles\PortalBundle\Entity\Widget $widget) + { + $this->widgets[] = $widget; + + return $this; + } + + /** + * Remove widget + * + * @param \Cadoles\PortalBundle\Entity\Widget $widget + */ + public function removeWidget(\Cadoles\PortalBundle\Entity\Widget $widget) + { + $this->widgets->removeElement($widget); + } + + /** + * Get widgets + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getWidgets() + { + return $this->widgets; + } + + /** + * Add bookmark + * + * @param \Cadoles\PortalBundle\Entity\Bookmark $bookmark + * + * @return Icon + */ + public function addBookmark(\Cadoles\PortalBundle\Entity\Bookmark $bookmark) + { + $this->bookmarks[] = $bookmark; + + return $this; + } + + /** + * Remove bookmark + * + * @param \Cadoles\PortalBundle\Entity\Bookmark $bookmark + */ + public function removeBookmark(\Cadoles\PortalBundle\Entity\Bookmark $bookmark) + { + $this->bookmarks->removeElement($bookmark); + } + + /** + * Get bookmarks + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getBookmarks() + { + return $this->bookmarks; + } } diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Item.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Item.php index 5af6a2b4..10aeae5b 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Item.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Item.php @@ -100,6 +100,14 @@ class Item */ private $icon; + /** + * @var ArrayCollection $bookmark + * @var Bookmark + * + * @ORM\OneToMany(targetEntity="Bookmark", mappedBy="item", cascade={"persist"}, orphanRemoval=true) + */ + private $bookmarks; + /** * @ORM\ManyToOne(targetEntity="Itemcategory", inversedBy="items") * @ORM\JoinColumn(name="category", referencedColumnName="id", nullable=false, onDelete="CASCADE") @@ -116,11 +124,14 @@ class Item protected $groups; + + /** * Constructor */ public function __construct() { + $this->bookmarks = new \Doctrine\Common\Collections\ArrayCollection(); $this->groups = new \Doctrine\Common\Collections\ArrayCollection(); } @@ -350,6 +361,30 @@ class Item return $this->color; } + /** + * Set roles + * + * @param array $roles + * + * @return Item + */ + public function setRoles($roles) + { + $this->roles = $roles; + + return $this; + } + + /** + * Get roles + * + * @return array + */ + public function getRoles() + { + return $this->roles; + } + /** * Set icon * @@ -374,6 +409,40 @@ class Item return $this->icon; } + /** + * Add bookmark + * + * @param \Cadoles\PortalBundle\Entity\Bookmark $bookmark + * + * @return Item + */ + public function addBookmark(\Cadoles\PortalBundle\Entity\Bookmark $bookmark) + { + $this->bookmarks[] = $bookmark; + + return $this; + } + + /** + * Remove bookmark + * + * @param \Cadoles\PortalBundle\Entity\Bookmark $bookmark + */ + public function removeBookmark(\Cadoles\PortalBundle\Entity\Bookmark $bookmark) + { + $this->bookmarks->removeElement($bookmark); + } + + /** + * Get bookmarks + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getBookmarks() + { + return $this->bookmarks; + } + /** * Set itemcategory * @@ -430,29 +499,5 @@ class Item public function getGroups() { return $this->groups; - } - - /** - * Set roles - * - * @param array $roles - * - * @return Item - */ - public function setRoles($roles) - { - $this->roles = $roles; - - return $this; - } - - /** - * Get roles - * - * @return array - */ - public function getRoles() - { - return $this->roles; } } diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Page.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Page.php index 54cce136..20ea9b0c 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Page.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Page.php @@ -12,6 +12,7 @@ use Symfony\Component\Validator\Constraints as Assert; * @ORM\Entity * @ORM\Table(name="page") * @ORM\HasLifecycleCallbacks + * @ORM\Entity(repositoryClass="Cadoles\PortalBundle\Repository\PageRepository") */ class Page { @@ -38,6 +39,13 @@ class Page */ private $roworder; + /** + * @var integer + * + * @ORM\Column(name="maxwidth", type="integer") + */ + private $maxwidth; + /** * @var string * @@ -80,6 +88,12 @@ class Page */ protected $groups; + /** + * @ORM\ManyToOne(targetEntity="Cadoles\CoreBundle\Entity\User", inversedBy="pages") + * @ORM\JoinColumn(nullable=true) + */ + private $user; + /** * @var ArrayCollection $pagewidgets * @var Order @@ -90,6 +104,20 @@ class Page private $pagewidgets; + /* champs calculé non stocké en base */ + private $canupdate; + public function getCanupdate() + { + return $this->canupdate; + } + public function setCanupdate($canupdate) + { + $this->canupdate = $canupdate; + return $this; + } + + + /** * Constructor @@ -158,6 +186,30 @@ class Page return $this->roworder; } + /** + * Set maxwidth + * + * @param integer $maxwidth + * + * @return Page + */ + public function setMaxwidth($maxwidth) + { + $this->maxwidth = $maxwidth; + + return $this; + } + + /** + * Get maxwidth + * + * @return integer + */ + public function getMaxwidth() + { + return $this->maxwidth; + } + /** * Set url * @@ -312,6 +364,30 @@ class Page return $this->groups; } + /** + * Set user + * + * @param \Cadoles\CoreBundle\Entity\User $user + * + * @return Page + */ + public function setUser(\Cadoles\CoreBundle\Entity\User $user = null) + { + $this->user = $user; + + return $this; + } + + /** + * Get user + * + * @return \Cadoles\CoreBundle\Entity\User + */ + public function getUser() + { + return $this->user; + } + /** * Add pagewidget * diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Pagewidget.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Pagewidget.php index 1daa889b..1145f8b2 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Pagewidget.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Pagewidget.php @@ -112,13 +112,37 @@ class Pagewidget private $widget; /** - * @ORM\ManyToOne(targetEntity="Icon", inversedBy="panelwidgets") + * @ORM\ManyToOne(targetEntity="Icon", inversedBy="pagewidgets") * @ORM\JoinColumn(nullable=true, onDelete="SET NULL") */ private $icon; + /** + * @var ArrayCollection $bookmark + * @var Bookmark + * + * @ORM\OneToMany(targetEntity="Bookmark", mappedBy="pagewidget", cascade={"persist"}, orphanRemoval=true) + */ + private $bookmarks; - + /** + * @var ArrayCollection $slide + * @var Slide + * + * @ORM\OneToMany(targetEntity="Slide", mappedBy="pagewidget", cascade={"persist"}, orphanRemoval=true) + */ + private $slides; + + + + /** + * Constructor + */ + public function __construct() + { + $this->bookmarks = new \Doctrine\Common\Collections\ArrayCollection(); + $this->slides = new \Doctrine\Common\Collections\ArrayCollection(); + } /** * Get id @@ -465,4 +489,72 @@ class Pagewidget { return $this->icon; } + + /** + * Add bookmark + * + * @param \Cadoles\PortalBundle\Entity\Bookmark $bookmark + * + * @return Pagewidget + */ + public function addBookmark(\Cadoles\PortalBundle\Entity\Bookmark $bookmark) + { + $this->bookmarks[] = $bookmark; + + return $this; + } + + /** + * Remove bookmark + * + * @param \Cadoles\PortalBundle\Entity\Bookmark $bookmark + */ + public function removeBookmark(\Cadoles\PortalBundle\Entity\Bookmark $bookmark) + { + $this->bookmarks->removeElement($bookmark); + } + + /** + * Get bookmarks + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getBookmarks() + { + return $this->bookmarks; + } + + /** + * Add slide + * + * @param \Cadoles\PortalBundle\Entity\Slide $slide + * + * @return Pagewidget + */ + public function addSlide(\Cadoles\PortalBundle\Entity\Slide $slide) + { + $this->slides[] = $slide; + + return $this; + } + + /** + * Remove slide + * + * @param \Cadoles\PortalBundle\Entity\Slide $slide + */ + public function removeSlide(\Cadoles\PortalBundle\Entity\Slide $slide) + { + $this->slides->removeElement($slide); + } + + /** + * Get slides + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getSlides() + { + return $this->slides; + } } diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Slide.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Slide.php new file mode 100644 index 00000000..82de4701 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Slide.php @@ -0,0 +1,255 @@ +id; + } + + /** + * Set title + * + * @param string $title + * + * @return Slide + */ + public function setTitle($title) + { + $this->title = $title; + + return $this; + } + + /** + * Get title + * + * @return string + */ + public function getTitle() + { + return $this->title; + } + + /** + * Set subtitle + * + * @param string $subtitle + * + * @return Slide + */ + public function setSubtitle($subtitle) + { + $this->subtitle = $subtitle; + + return $this; + } + + /** + * Get subtitle + * + * @return string + */ + public function getSubtitle() + { + return $this->subtitle; + } + + /** + * Set url + * + * @param string $url + * + * @return Slide + */ + public function setUrl($url) + { + $this->url = $url; + + return $this; + } + + /** + * Get url + * + * @return string + */ + public function getUrl() + { + return $this->url; + } + + /** + * Set target + * + * @param string $target + * + * @return Slide + */ + public function setTarget($target) + { + $this->target = $target; + + return $this; + } + + /** + * Get target + * + * @return string + */ + public function getTarget() + { + return $this->target; + } + + /** + * Set roworder + * + * @param integer $roworder + * + * @return Slide + */ + public function setRoworder($roworder) + { + $this->roworder = $roworder; + + return $this; + } + + /** + * Get roworder + * + * @return integer + */ + public function getRoworder() + { + return $this->roworder; + } + + /** + * Set image + * + * @param string $image + * + * @return Slide + */ + public function setImage($image) + { + $this->image = $image; + + return $this; + } + + /** + * Get image + * + * @return string + */ + public function getImage() + { + return $this->image; + } + + /** + * Set pagewidget + * + * @param \Cadoles\PortalBundle\Entity\Pagewidget $pagewidget + * + * @return Slide + */ + public function setPagewidget(\Cadoles\PortalBundle\Entity\Pagewidget $pagewidget = null) + { + $this->pagewidget = $pagewidget; + + return $this; + } + + /** + * Get pagewidget + * + * @return \Cadoles\PortalBundle\Entity\Pagewidget + */ + public function getPagewidget() + { + return $this->pagewidget; + } +} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Widget.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Widget.php index b6e3055f..ab0971b3 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Widget.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Entity/Widget.php @@ -120,7 +120,7 @@ class Widget * * @ORM\OneToMany(targetEntity="Pagewidget", mappedBy="widget", cascade={"persist"}, orphanRemoval=false) */ - private $pageidgets; + private $pagewidgets; // A garder pour forcer l'id en init public function setId($id) @@ -130,13 +130,13 @@ class Widget } - + /** * Constructor */ public function __construct() { - $this->pageidgets = new \Doctrine\Common\Collections\ArrayCollection(); + $this->pagewidgets = new \Doctrine\Common\Collections\ArrayCollection(); } /** @@ -462,36 +462,36 @@ class Widget } /** - * Add pageidget + * Add pagewidget * - * @param \Cadoles\PortalBundle\Entity\Pagewidget $pageidget + * @param \Cadoles\PortalBundle\Entity\Pagewidget $pagewidget * * @return Widget */ - public function addPageidget(\Cadoles\PortalBundle\Entity\Pagewidget $pageidget) + public function addPagewidget(\Cadoles\PortalBundle\Entity\Pagewidget $pagewidget) { - $this->pageidgets[] = $pageidget; + $this->pagewidgets[] = $pagewidget; return $this; } /** - * Remove pageidget + * Remove pagewidget * - * @param \Cadoles\PortalBundle\Entity\Pagewidget $pageidget + * @param \Cadoles\PortalBundle\Entity\Pagewidget $pagewidget */ - public function removePageidget(\Cadoles\PortalBundle\Entity\Pagewidget $pageidget) + public function removePagewidget(\Cadoles\PortalBundle\Entity\Pagewidget $pagewidget) { - $this->pageidgets->removeElement($pageidget); + $this->pagewidgets->removeElement($pagewidget); } /** - * Get pageidgets + * Get pagewidgets * * @return \Doctrine\Common\Collections\Collection */ - public function getPageidgets() + public function getPagewidgets() { - return $this->pageidgets; + return $this->pagewidgets; } } diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/BookmarkType.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/BookmarkType.php new file mode 100644 index 00000000..a8160279 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/BookmarkType.php @@ -0,0 +1,70 @@ +add("submit", SubmitType::class, [ + "label" => ($options["mode"]=="delete"?"Confirmer la Suppression":"Valider"), + "attr" => ($options["mode"]=="delete"?array("class" => "btn btn-danger"):array("class" => "btn btn-success")) + ]) + + ->add("title", TextType::class, [ + "label" => "Titre", + "disabled" => ($options["mode"]=="delete"?true:false), + ]) + + ->add("subtitle", TextareaType::class, [ + "label" => 'Sous Titre', + "required" => false, + "disabled" => ($options["mode"]=="delete"?true:false), + "attr" => array("rows" => '4') + ]) + + + ->add('color', ColorType::class, [ + "label" => 'Couleur de la tuile', + "required" => false, + "attr" => ['placeholder' => '#FF0066'], + ]) + + ->add('url') + + ->add('target', ChoiceType::class, [ + "label" => 'Ouvrir le lien dans', + "choices" => [ + "Nouvel onglet/fenêtre" => '_blank', + "iFrame" => 'frame', + "Onglet courant" => '_self', + ] + ]) + + ->add('idicon', HiddenType::class,['mapped'=> false,'data' => $options["idicon"]]); + } + + public function configureOptions(OptionsResolver $resolver) + { + $resolver->setDefaults([ + 'data_class' => 'Cadoles\PortalBundle\Entity\Bookmark', + 'mode' => "string", + 'idicon' => "string", + ]); + } +} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/FluxType.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/FluxType.php new file mode 100644 index 00000000..b991d90e --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/FluxType.php @@ -0,0 +1,75 @@ +add("submit", SubmitType::class, [ + "label" => ($options["mode"]=="delete"?"Confirmer la Suppression":"Valider"), + "attr" => ($options["mode"]=="delete"?array("class" => "btn btn-danger"):array("class" => "btn btn-success")) + ]) + + ->add('title', TextType::class, [ + 'label' => 'Titre' + ]) + + ->add('url', TextType::class, [ + 'label' => 'URL' + ]) + + ->add('maxread', IntegerType::class, [ + 'label' => "Nombre d'Articles affiché" + ]) + + ->add('color', TextType::class, [ + 'required' => false, + 'attr' => array("class" => "pick-a-color") + ]) + + ->add('roles', ChoiceType::class, [ + "label" => 'Visible pour les Rôles', + "choices" => [ + "Visiteur" => 'ROLE_ANONYME', + "Utilisateur" => 'ROLE_USER', + "Modérateur" => 'ROLE_MODO', + "Administateur" => 'ROLE_ADMIN', + ], + "multiple" => true, + "expanded" => true, + "disabled" => ($options["mode"]=="delete"?true:false), + ]) + + ->add('groups', EntityType::class, [ + "label" => 'Visible pour les Groupes', + "class" => 'CadolesCoreBundle:Group', + "choice_label" => 'label', + "multiple" => true, + "expanded" => true, + "disabled" => ($options["mode"]=="delete"?true:false), + ]); + + } + + public function configureOptions(OptionsResolver $resolver) + { + $resolver->setDefaults([ + 'data_class' => 'Cadoles\PortalBundle\Entity\Flux', + 'mode' => "string", + ]); + } +} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/ItemType.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/ItemType.php index 462d5691..3c09734a 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/ItemType.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/ItemType.php @@ -92,9 +92,9 @@ class ItemType extends AbstractType ->add('target', ChoiceType::class, [ "label" => 'Ouvrir le lien dans', "choices" => [ - "Onglet courant" => '_self', "Nouvel onglet/fenêtre" => '_blank', "iFrame" => 'frame', + "Onglet courant" => '_self', ] ]) diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageSubmitType.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageSubmitType.php index 95456b05..a6030b2a 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageSubmitType.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageSubmitType.php @@ -24,16 +24,21 @@ class PageSubmitType extends AbstractType 'label' => 'Nom' ]) - ->add('roworder', IntegerType::class, [ - 'label' => 'Ordre', - ]) - ->add('pagecategory', EntityType::class, [ 'label' => 'Catégorie de Page', 'class' => 'CadolesPortalBundle:Pagecategory', 'choice_label' => 'name', 'placeholder' => '-- Sélectionnez une catégorie --' - ]); + ]) + + ->add('roworder', IntegerType::class, [ + 'label' => 'Ordre', + ]) + + ->add('maxwidth', IntegerType::class, [ + 'label' => "Largeur maximum (0 pour largeur de l'écran)", + ]); + } public function configureOptions(OptionsResolver $resolver) diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageUpdateEditorType.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageUpdateEditorType.php index 0963c736..2a2f46ff 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageUpdateEditorType.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageUpdateEditorType.php @@ -30,34 +30,41 @@ class PageUpdateEditorType extends AbstractType 'label' => 'Ordre' ]) + ->add('maxwidth', IntegerType::class, [ + 'label' => "Largeur maximum (0 pour largeur de l'écran)", + ]) + ->add("html",CKEditorType::class,[ "config_name" => 'full_config', "label" => 'Description', "required" => false, "disabled" => ($options["mode"]=="delete"?true:false), "config" => array("height" => "500px") - ]) - - ->add('roles', ChoiceType::class, [ - "label" => 'Visible pour les Rôles', - "choices" => [ - "Visiteur" => 'ROLE_ANONYME', - "Utilisateur" => 'ROLE_USER', - "Modérateur" => 'ROLE_MODO', - "Administateur" => 'ROLE_ADMIN', - ], - "multiple" => true, - "expanded" => true, - "disabled" => ($options["mode"]=="delete"?true:false), - ]) - - ->add('groups', EntityType::class, [ - 'label' => 'Visible pour les Groupes', - 'class' => 'CadolesCoreBundle:Group', - 'choice_label' => 'label', - 'multiple' => true, - 'expanded' => true ]); + + if($options["access"]=="config") { + $builder + ->add('roles', ChoiceType::class, [ + "label" => 'Visible pour les Rôles', + "choices" => [ + "Visiteur" => 'ROLE_ANONYME', + "Utilisateur" => 'ROLE_USER', + "Modérateur" => 'ROLE_MODO', + "Administateur" => 'ROLE_ADMIN', + ], + "multiple" => true, + "expanded" => true, + "disabled" => ($options["mode"]=="delete"?true:false), + ]) + + ->add('groups', EntityType::class, [ + 'label' => 'Visible pour les Groupes', + 'class' => 'CadolesCoreBundle:Group', + 'choice_label' => 'label', + 'multiple' => true, + 'expanded' => true + ]); + } } public function configureOptions(OptionsResolver $resolver) diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageUpdateURLType.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageUpdateURLType.php index aec791e8..b5c6a3e9 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageUpdateURLType.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageUpdateURLType.php @@ -25,34 +25,42 @@ class PageUpdateURLType extends AbstractType 'label' => 'Nom' ]) + ->add('url', TextType::class, [ + 'label' => 'URL' + ]) + ->add('roworder', IntegerType::class, [ 'label' => 'Ordre', ]) - ->add('url', TextType::class, [ - 'label' => 'URL' - ]) - - ->add('roles', ChoiceType::class, [ - "label" => 'Visible pour les Rôles', - "choices" => [ - "Visiteur" => 'ROLE_ANONYME', - "Utilisateur" => 'ROLE_USER', - "Modérateur" => 'ROLE_MODO', - "Administateur" => 'ROLE_ADMIN', - ], - "multiple" => true, - "expanded" => true, - "disabled" => ($options["mode"]=="delete"?true:false), - ]) - - ->add('groups', EntityType::class, [ - 'label' => 'Visible pour les Groupes', - 'class' => 'CadolesCoreBundle:Group', - 'choice_label' => 'label', - 'multiple' => true, - 'expanded' => true + ->add('maxwidth', IntegerType::class, [ + 'label' => "Largeur maximum (0 pour largeur de l'écran)", ]); + + + if($options["access"]=="config") { + $builder + ->add('roles', ChoiceType::class, [ + "label" => 'Visible pour les Rôles', + "choices" => [ + "Visiteur" => 'ROLE_ANONYME', + "Utilisateur" => 'ROLE_USER', + "Modérateur" => 'ROLE_MODO', + "Administateur" => 'ROLE_ADMIN', + ], + "multiple" => true, + "expanded" => true, + "disabled" => ($options["mode"]=="delete"?true:false), + ]) + + ->add('groups', EntityType::class, [ + 'label' => 'Visible pour les Groupes', + 'class' => 'CadolesCoreBundle:Group', + 'choice_label' => 'label', + 'multiple' => true, + 'expanded' => true + ]); + } } public function configureOptions(OptionsResolver $resolver) diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageUpdateWidgetType.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageUpdateWidgetType.php index 8eb67a6d..f4cc3ad9 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageUpdateWidgetType.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PageUpdateWidgetType.php @@ -30,31 +30,38 @@ class PageUpdateWidgetType extends AbstractType 'label' => 'Ordre', ]) + ->add('maxwidth', IntegerType::class, [ + 'label' => "Largeur maximum (0 pour largeur de l'écran)", + ]) + ->add('template', HiddenType::class, [ 'label' => 'Template', 'required' => false - ]) + ]); - ->add('roles', ChoiceType::class, [ - "label" => 'Visible pour les Rôles', - "choices" => [ - "Visiteur" => 'ROLE_ANONYME', - "Utilisateur" => 'ROLE_USER', - "Modérateur" => 'ROLE_MODO', - "Administateur" => 'ROLE_ADMIN', - ], - "multiple" => true, - "expanded" => true, - "disabled" => ($options["mode"]=="delete"?true:false), - ]) + if($options["access"]=="config") { + $builder + ->add('roles', ChoiceType::class, [ + "label" => 'Visible pour les Rôles', + "choices" => [ + "Visiteur" => 'ROLE_ANONYME', + "Utilisateur" => 'ROLE_USER', + "Modérateur" => 'ROLE_MODO', + "Administateur" => 'ROLE_ADMIN', + ], + "multiple" => true, + "expanded" => true, + "disabled" => ($options["mode"]=="delete"?true:false), + ]) - ->add('groups', EntityType::class, [ - 'label' => 'Visible pour les Groupes', - 'class' => 'CadolesCoreBundle:Group', - 'choice_label' => 'label', - 'multiple' => true, - 'expanded' => true - ]); + ->add('groups', EntityType::class, [ + 'label' => 'Visible pour les Groupes', + 'class' => 'CadolesCoreBundle:Group', + 'choice_label' => 'label', + 'multiple' => true, + 'expanded' => true + ]); + } } public function configureOptions(OptionsResolver $resolver) diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PagewidgetType.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PagewidgetType.php index 3c8e3ae2..fcb65b3c 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PagewidgetType.php +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/PagewidgetType.php @@ -13,7 +13,7 @@ use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\Extension\Core\Type\FileType; use Symfony\Component\Form\Extension\Core\Type\ColorType; use Symfony\Component\Form\Extension\Core\Type\HiddenType; -use Trsteel\CkeditorBundle\Form\Type\CkeditorType; +use Ivory\CKEditorBundle\Form\Type\CKEditorType; use Cadoles\PortalBundle\Entity\Itemcategory; @@ -106,6 +106,18 @@ class PagewidgetType extends AbstractType ]) ; } + elseif($field->type=="withbookmark") { + $builder + ->add($field->id, ChoiceType::class, [ + 'label' => $field->label, + 'mapped'=> false, + 'label_attr' => ['loc' => $field->loc], + 'data' => $field->value, + 'required' => ($field->mandatory=="true"), + 'choices' => array("Favoris + Items" => "0","Items uniquement" => "1", "Favoris uniquement" => "2") + ]) ; + } + elseif($field->type=="itemcategory") { $id = $field->value; $categorys= $this->container->get('doctrine.orm.entity_manager')->getRepository("CadolesPortalBundle:Itemcategory")->findAll(); @@ -144,6 +156,42 @@ class PagewidgetType extends AbstractType 'choices' => $choices, 'placeholder' => '-- Sélectionnez une catégorie --', ]) ; + } + + elseif($field->type=="target") { + $builder + ->add($field->id, ChoiceType::class, [ + 'label' => $field->label, + 'mapped'=> false, + 'label_attr' => ['loc' => $field->loc], + 'data' => $field->value, + 'required' => ($field->mandatory=="true"), + 'choices' => array("Nouvel onglet/fenêtre" => "_blank", "iFrame" => "frame","Onglet courant" => "_self") + ]) ; + } + + elseif($field->type=="ckeditor") { + $builder + ->add($field->id,CKEditorType::class,[ + 'config_name' => 'full_config', + 'label' => $field->label, + 'mapped'=> false, + 'label_attr' => ['loc' => $field->loc], + 'data' => $field->value, + 'required' => ($field->mandatory=="true"), + ]); + } + + elseif($field->type=="clock") { + $builder + ->add($field->id, ChoiceType::class, [ + 'label' => $field->label, + 'mapped'=> false, + 'label_attr' => ['loc' => $field->loc], + 'data' => $field->value, + 'required' => ($field->mandatory=="true"), + 'choices' => array("Analogique" => "0","Numérique" => "1") + ]) ; } } } diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/SlideType.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/SlideType.php new file mode 100644 index 00000000..3447a08e --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Form/SlideType.php @@ -0,0 +1,74 @@ +add("submit", SubmitType::class, [ + "label" => "Valider", + "attr" => array("class" => "btn btn-success") + ]) + + ->add("title", TextType::class, [ + "label" => "Titre", + "required" => false, + ]) + + ->add("subtitle", TextareaType::class, [ + "label" => 'Sous Titre', + "required" => false, + "attr" => array("rows" => '4') + ]) + + ->add('roworder', IntegerType::class, [ + 'label' => 'Ordre', + ]) + + ->add('url', TextType::class, [ + "label" => "URL", + "required" => false, + ]) + + ->add('target', ChoiceType::class, [ + "label" => 'Ouvrir le lien dans', + "choices" => [ + "Nouvel onglet/fenêtre" => '_blank', + "iFrame" => 'frame', + "Onglet courant" => '_self', + ] + ]) + + ->add('image',HiddenType::class, [ + "label" =>"image", + "disabled" => ($options["mode"]=="delete"?true:false) + ]); + + } + + public function configureOptions(OptionsResolver $resolver) + { + $resolver->setDefaults([ + 'data_class' => 'Cadoles\PortalBundle\Entity\Slide', + 'mode' => "string", + 'idicon' => "string", + ]); + } +} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Repository/PageRepository.php b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Repository/PageRepository.php new file mode 100644 index 00000000..38835fda --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Repository/PageRepository.php @@ -0,0 +1,158 @@ +getRoles():["ROLE_ANONYME"]); + $groups=($user?$user->getGroups():[]); + + // Récupération des pages de l'utilisateur + $pagesuser=false; + if($user) { + $qb = $this->createQueryBuilder('page'); + $qb ->where("page.user=:user") + ->setParameter("user",$user) + ->orderBy('page.roworder', 'ASC'); + $pagesuser=$qb->getQuery()->getResult(); + } + + // Permission sur les pages + if($pagesuser) { + foreach($pagesuser as $pageuser) { + $pageuser->setCanupdate(true); + } + } + + // Initialisation du calcul des pages + $pagesnotorder=new ArrayCollection(); + + // Récupération des pages par rôles + foreach($roles as $role) { + $qb = $this->createQueryBuilder("page"); + $qb ->where($qb->expr()->like('page.roles', $qb->expr()->literal("%$role%"))) + ->andWhere("page.user is null"); + + $pagesroles=$qb->getQuery()->getResult(); + foreach($pagesroles as $pagerole) { + if(!$pagesnotorder->contains($pagerole)) $pagesnotorder->add($pagerole); + } + } + + // Récupération des pages par group + foreach($groups as $group) { + $qb = $this->createQueryBuilder("page"); + $qb ->where(":group MEMBER OF page.groups") + ->andWhere("page.user is null") + ->setParameter("group",$group->getGroup()); + + $pagesgroups=$qb->getQuery()->getResult(); + foreach($pagesgroups as $pagegroup) { + if(!$pagesnotorder->contains($pagegroup)) $pagesnotorder->add($pagegroup); + } + } + + // Permission sur les pages + foreach($pagesnotorder as $pageadmin) { + $pageadmin->setCanupdate(false); + } + + // Trie des pages + $pages = $pagesnotorder->getIterator(); + $pages->uasort(function ($first, $second) { + return (int) $first->getRowOrder() > (int) $second->getRowOrder() ? 1 : -1; + }); + + // On récupère la page à afficher + $entity=false; + if(isset($id)) { + $entity = $this->find($id); + + // On s'assure que la page fait partie des pages du profil + $have=false; + foreach($pages as $v) { + if($v == $entity) + $have=true; + } + if($pagesuser) { + foreach($pagesuser as $v) { + if($v == $entity) + $have=true; + } + } + + if(!$have) $entity=false; + } + + // ou On récupère la premier page profilée comme page d'accueil + if(!$entity) { + $pages->rewind(); + if($pages->current()) { + $id=$pages->current()->getId(); + $entity = $this->find($id); + } + } + + // ou On récupère la premiere page de l'utilisateur + if(!$entity) { + $entity=$pagesuser[0]; + } + } + + public function getPermission($user,$page,&$cansee,&$canupdate) { + // si page de l'utilisateur + if($page->getUser()==$user) { + $cansee=true; + $canupdate=true; + } + else { + $canupdate=false; + $cansee=false; + + // Profilage + $roles=($user?$user->getRoles():["ROLE_ANONYME"]); + $groups=($user?$user->getGroups():[]); + + // La page est-elle dans les pages associées au role de l'utilisateur ? + foreach($roles as $role) { + $qb = $this->createQueryBuilder("page"); + $qb ->where($qb->expr()->like('page.roles', $qb->expr()->literal("%$role%"))) + ->andWhere("page.id=:id") + ->andWhere("page.user is null") + ->setParameter("id",$page->getId()); + $inpagerole=$qb->getQuery()->getResult(); + if($inpagerole) $cansee=true; + } + + // La page est-elle dans les pages associées aux groupes de l'utilisateur ? + foreach($groups as $group) { + $qb = $this->createQueryBuilder("page"); + $qb ->where(":group MEMBER OF page.groups") + ->andWhere("page.id=:id") + ->andWhere("page.user is null") + ->andWhere("page.id=:id") + ->setParameter("id",$page->getId()) + ->setParameter("group",$group->getGroup()); + + $inpagegroup=$qb->getQuery()->getResult(); + if($inpagegroup) $cansee=true; + } + } + } +} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/config/routing.yml b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/config/routing.yml index 17fea767..7b54de21 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/config/routing.yml +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/config/routing.yml @@ -91,8 +91,28 @@ cadoles_portal_config_alertcategory_delete: path: /config/alertcategory/delete/{id} defaults: { _controller: CadolesPortalBundle:Alertcategory:delete } +#== Config Flux +cadoles_portal_config_flux: + path: /config/flux + defaults: { _controller: CadolesPortalBundle:Flux:list } -#== Config Page +cadoles_portal_config_flux_submit: + path: /config/flux/submit + defaults: { _controller: CadolesPortalBundle:Flux:submit } + +cadoles_portal_config_flux_update: + path: /config/flux/update/{id} + defaults: { _controller: CadolesPortalBundle:Flux:update } + +cadoles_portal_config_flux_delete: + path: /config/flux/delete/{id} + defaults: { _controller: CadolesPortalBundle:Flux:delete } + +cadoles_portal_config_flux_order: + path: /config/flux/order + defaults: { _controller: CadolesPortalBundle:Flux:order } + +#== Page #-- Access config cadoles_portal_config_page: path: /config/page @@ -135,8 +155,95 @@ cadoles_portal_user_page_view: path: /page/view/{id} defaults: { _controller: CadolesPortalBundle:Page:view, access: user } +#== Bookmark +#-- Access config +cadoles_portal_config_bookmark_submit: + path: /config/bookmark/submit/{idpage}/{idwidget}/{touser} + defaults: { _controller: CadolesPortalBundle:Bookmark:submit, access: config } -#== Config Pagewidget +cadoles_portal_config_bookmark_update: + path: /config/bookmark/update/{idpage}/{id} + defaults: { _controller: CadolesPortalBundle:Bookmark:update, access: config } + +cadoles_portal_config_bookmark_delete: + path: /config/bookmark/delete/{idpage}/{id} + defaults: { _controller: CadolesPortalBundle:Bookmark:delete, access: config } + +#-- Access user +cadoles_portal_user_bookmark_submit: + path: /user/bookmark/submit/{idpage}/{idwidget}/{touser} + defaults: { _controller: CadolesPortalBundle:Bookmark:submit, access: user } + +cadoles_portal_user_bookmark_update: + path: /user/bookmark/update/{idpage}/{id} + defaults: { _controller: CadolesPortalBundle:Bookmark:update, access: user } + +cadoles_portal_user_bookmark_delete: + path: /user/bookmark/delete/{idpage}/{id} + defaults: { _controller: CadolesPortalBundle:Bookmark:delete, access: user } + +cadoles_portal_user_bookmark_heart: + path: /user/bookmark/heart + defaults: { _controller: CadolesPortalBundle:Bookmark:heart, access: user } + + +#== Slide +#-- Access config +cadoles_portal_config_slide_list: + path: /config/slide/{idpage}/{idwidget} + defaults: { _controller: CadolesPortalBundle:Slide:list, access: config } + +cadoles_portal_config_slide_submit: + path: /config/slide/submit/{idpage}/{idwidget} + defaults: { _controller: CadolesPortalBundle:Slide:submit, access: config } + +cadoles_portal_config_slide_update: + path: /config/slide/update/{idpage}/{id} + defaults: { _controller: CadolesPortalBundle:Slide:update, access: config } + +cadoles_portal_config_slide_delete: + path: /config/slide/delete/{idpage}/{id} + defaults: { _controller: CadolesPortalBundle:Slide:delete, access: config } + +cadoles_portal_config_slide_upload: + path: /config/slide/upload + defaults: { _controller: CadolesPortalBundle:Slide:upload, access: user } + +#-- Access user +cadoles_portal_user_slide_list: + path: /user/slide/{idpage}/{idwidget} + defaults: { _controller: CadolesPortalBundle:Slide:list, access: user } + +cadoles_portal_user_slide_submit: + path: /user/slide/submit/{idpage}/{idwidget} + defaults: { _controller: CadolesPortalBundle:Slide:submit, access: user } + +cadoles_portal_user_slide_update: + path: /user/slide/update/{idpage}/{id} + defaults: { _controller: CadolesPortalBundle:Slide:update, access: user } + +cadoles_portal_user_slide_delete: + path: /user/slide/delete/{idpage}/{id} + defaults: { _controller: CadolesPortalBundle:Slide:delete, access: user } + +cadoles_portal_user_slide_upload: + path: /user/slide/upload + defaults: { _controller: CadolesPortalBundle:Slide:upload, access: user } + +#== Tool +cadoles_portal_user_tool_clockanalogique: + path: /tool/clockanalogique + defaults: { _controller: CadolesPortalBundle:Tool:clockanalogique } + +cadoles_portal_user_tool_clocknumerique: + path: /tool/clocknumerique + defaults: { _controller: CadolesPortalBundle:Tool:clocknumerique } + +cadoles_portal_user_tool_calculator: + path: /tool/calculator + defaults: { _controller: CadolesPortalBundle:Tool:calculator } + +#== Pagewidget #-- Access config cadoles_portal_config_pagewidget_widget_sumbit: path: /config/pagewidget/submit/{idpage}/{idwidgettype} @@ -166,6 +273,42 @@ cadoles_portal_config_panelwidget_view_alert: path: /config/pagewidget/view/alert/{id} defaults: { _controller: CadolesPortalBundle:Pagewidget:viewalert, access: config } +cadoles_portal_config_panelwidget_view_flux: + path: /config/pagewidget/view/flux/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewflux, access: config } + +cadoles_portal_config_panelwidget_view_bookmark: + path: /pagewidget/view/bookmark/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewbookmark, access: config } + +cadoles_portal_config_panelwidget_view_link: + path: /config/pagewidget/view/link/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewlink, access: config } + +cadoles_portal_config_panelwidget_view_editor: + path: /config/pagewidget/view/editor/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:vieweditor, access: config } + +cadoles_portal_config_panelwidget_view_slide: + path: /config/pagewidget/view/slide/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewslide, access: config } + +cadoles_portal_config_panelwidget_view_file: + path: /config/pagewidget/view/file/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewfile, access: config } + +cadoles_portal_config_panelwidget_view_galery: + path: /config/pagewidget/view/galery/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewgalery, access: config } + +cadoles_portal_config_panelwidget_view_clock: + path: /config/pagewidget/view/clock/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewclock, access: config } + +cadoles_portal_config_panelwidget_view_calculator: + path: config/pagewidget/view/calculator/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewcalculator, access: config } + #-- Access user cadoles_portal_user_pagewidget_widget_sumbit: path: /user/pagewidget/submit/{idpage}/{idwidgettype} @@ -193,4 +336,40 @@ cadoles_portal_user_panelwidget_view_item: cadoles_portal_user_panelwidget_view_alert: path: /pagewidget/view/alert/{id} - defaults: { _controller: CadolesPortalBundle:Pagewidget:viewalert, access: user } \ No newline at end of file + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewalert, access: user } + +cadoles_portal_user_panelwidget_view_flux: + path: /pagewidget/view/flux/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewflux, access: user } + +cadoles_portal_user_panelwidget_view_bookmark: + path: /pagewidget/view/bookmark/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewbookmark, access: user } + +cadoles_portal_user_panelwidget_view_link: + path: /pagewidget/view/link/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewlink, access: user } + +cadoles_portal_user_panelwidget_view_editor: + path: /pagewidget/view/editor/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:vieweditor, access: user } + +cadoles_portal_user_panelwidget_view_slide: + path: /pagewidget/view/slide/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewslide, access: user } + +cadoles_portal_user_panelwidget_view_file: + path: /pagewidget/view/file/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewfile, access: user } + +cadoles_portal_user_panelwidget_view_galery: + path: /pagewidget/view/galery/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewgalery, access: user } + +cadoles_portal_user_panelwidget_view_clock: + path: /pagewidget/view/clock/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewclock, access: user } + +cadoles_portal_user_panelwidget_view_calculator: + path: /pagewidget/view/calculator/{id} + defaults: { _controller: CadolesPortalBundle:Pagewidget:viewcalculator, access: user } diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Alert/list.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Alert/list.html.twig index f3c30eee..e079d453 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Alert/list.html.twig +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Alert/list.html.twig @@ -12,18 +12,18 @@ Ajouter une Catégorie

-
+
{% for alert in alerts %}
+ +
@@ -89,7 +129,7 @@
- Tout les profils + Tout les groupes {{ alerts|length }} @@ -140,11 +180,13 @@ {% block localjavascript %} $( function() { - var changes = false; + $("a[data-role='ROLE_ANONYME']").children("span").html($('.role-ROLE_ANONYME').length); + $("a[data-role='ROLE_USER']").children("span").html($('.role-ROLE_USER').length); + $("a[data-role='ROLE_MODO']").children("span").html($('.role-ROLE_MODO').length); + $("a[data-role='ROLE_ADMIN']").children("span").html($('.role-ROLE_ADMIN').length); function updateItems() { - changes = true; - $('.alert-list-item:not(.alert-list-item-placeholder').each(function(i) { + $('.list-item:not(.list-item-placeholder').each(function(i) { var itemid = $(this).data('alert-id'); $(this).find('input[name="alert_item[rowOrder][]"]').val(i); @@ -161,21 +203,22 @@ }); } - $( "#alert-list" ).sortable({ + $( "#list" ).sortable({ axis: "y", - placeholder: "alert-list-item alert-list-item-placeholder", + placeholder: "list-item list-item-placeholder", update: updateItems }); - $("#category-filter a").click(function(){ + $("#category-filter a.category-alert-item").click(function(){ // On réactive les auters filtres à tout + $('#role-filter a').removeClass('active'); $('#group-filter a').removeClass('active'); $('#statut-filter a').removeClass('active'); $(".filterfgall").addClass('active'); $(this).toggleClass('active'); $('.category-alert-item').each(function(i) { - var $alerts = $('.alert-'+$(this).data('category')); + var $alerts = $('.alertcategory-'+$(this).data('category')); if($(this).hasClass('active')){ $alerts.show(); } else { @@ -186,22 +229,48 @@ return false; }); + $('#role-filter a').click(function(){ + // On réactive les auters filtres à tout + $(".category-alert-item").addClass('active'); + $('#group-filter a').removeClass('active'); + $('#statut-filter a').removeClass('active'); + $(".filterfgall").addClass('active'); + + // On rend actif la zone cliquée + $('#role-filter a').removeClass('active'); + $(this).addClass('active'); + + // On cache l'ensemble des elements + $(".list-item").hide(); + + // On affiche les elements filtrés + if($(this).hasClass('filterfgall')) + var $alerts = $('.list-item'); + else + var $alerts = $('.role-'+$(this).data('role')); + + $alerts.show(); + + return false; + }); + $('#group-filter a').click(function(){ // On réactive les auters filtres à tout $(".category-alert-item").addClass('active'); + $('#role-filter a').removeClass('active'); $('#statut-filter a').removeClass('active'); - $("#statut-filter .filterfgall").addClass('active'); + $(".filterfgall").addClass('active'); // On rend actif la zone cliquée $('#group-filter a').removeClass('active'); $(this).addClass('active'); // On cache l'ensemble des elements - $(".portalalert").hide(); + $(".list-item").hide(); // On affiche les elements filtrés if($(this).hasClass('filterfgall')) - var $alerts = $('.alert-list-item'); + var $alerts = $('.list-item'); else var $alerts = $('.group-'+$(this).data('role')); @@ -221,11 +290,11 @@ $(this).addClass('active'); // On cache l'ensemble des elements - $(".portalalert").hide(); + $(".list-item").hide(); // On affiche les elements filtrés if($(this).hasClass('filterfgall')) - var $alerts = $('.alert-list-item'); + var $alerts = $('.list-item'); else var $alerts = $('.alertstatut-'+$(this).data('statut')); diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Bookmark/edit.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Bookmark/edit.html.twig new file mode 100755 index 00000000..d02cf7f6 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Bookmark/edit.html.twig @@ -0,0 +1,119 @@ +{% extends '@CadolesCore/base.html.twig' %} + +{% block pagewrapper %} +{{ form_start(form) }} +

+ {% if mode=="update" %} + Modification Favori + {% elseif mode=="submit" %} + Création Favori + {% endif %} +

+ + {{ form_widget(form.submit) }} + {% if access=="config" %} + Annuler + {% else %} + Annuler + {% endif %} + + {% if mode=="update" %} + + Supprimer + + {% endif %} + +

+ + {% if app.session.flashbag.has('error') %} +
+ Erreur
+ {% for flashMessage in app.session.flashbag.get('error') %} + {{ flashMessage }}
+ {% endfor %} +
+ {% endif %} + + {% if app.session.flashbag.has('notice') %} +
+ Information
+ {% for flashMessage in app.session.flashbag.get('notice') %} + {{ flashMessage }}
+ {% endfor %} +
+ {% endif %} + + +
+
+ {{ form_row(form.title) }} + {{ form_row(form.subtitle) }} +
+ + +
+ {{ form_row(form.url) }} + {{ form_row(form.target) }} + {{ form_row(form.color) }} + +
+ {% if entity.icon %} + + {% endif %} +
+ +
+ {{ form_row(form.idicon) }} + Selectionner un Icône + Détacher l'Icône +
+
+
+ + +{{ form_end(form) }} +{% endblock %} + +{% block localjavascript %} + function selIcon(idicon) { + $("#bookmark_idicon").val(idicon); + $("#diviconsel img").remove(); + + $("#icon-"+idicon).clone().appendTo($("#diviconsel")); + $("#diviconsel img").attr("height","100px"); + $('#selicon').modal('hide'); + } + + function delIcon() { + $("#diviconsel img").remove(); + $("#bookmark_idicon").val(null); + } +{% endblock %} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Flux/edit.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Flux/edit.html.twig new file mode 100755 index 00000000..bd9f3553 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Flux/edit.html.twig @@ -0,0 +1,65 @@ +{% extends '@CadolesCore/base.html.twig' %} + +{% block pagewrapper %} +{{ form_start(form) }} +

+ {% if mode=="update" %} + Modification Flux + {% elseif mode=="submit" %} + Création Flux + {% endif %} +

+ + {{ form_widget(form.submit) }} + Annuler + + {% if mode=="update" %} + + Supprimer + + {% endif %} + +

+ + {% if app.session.flashbag.has('error') %} +
+ Erreur
+ {% for flashMessage in app.session.flashbag.get('error') %} + {{ flashMessage }}
+ {% endfor %} +
+ {% endif %} + + {% if app.session.flashbag.has('notice') %} +
+ Information
+ {% for flashMessage in app.session.flashbag.get('notice') %} + {{ flashMessage }}
+ {% endfor %} +
+ {% endif %} + + +
+
+ {{ form_row(form.title) }} + {{ form_row(form.url) }} + {{ form_row(form.maxread) }} + {{ form_row(form.color) }} +
+ +
+ {{ form_row(form.roles) }} + {{ form_row(form.groups) }} +
+
+ + +{{ form_end(form) }} +{% endblock %} + +{% block localjavascript %} +{% endblock %} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Flux/list.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Flux/list.html.twig new file mode 100644 index 00000000..724516a4 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Flux/list.html.twig @@ -0,0 +1,193 @@ +{% extends '@CadolesCore/base.html.twig' %} + +{% block pagewrapper %} + {% set color = app.session.get('color') %} + +

+ Gestion des Flux +

+ +
+
+

+ Ajouter un Flux +

+ +
+ {% for flux in fluxs %} + {% set colorbody = "background-color: #" ~ color['main'] %} + {% if flux.color is not null %} + {% set colorbody = "background-color: #" ~ flux.color %} + {% endif %} + + + {% endfor %} +
+
+ + +
+{% endblock %} + +{% block localjavascript %} + $( function() { + + $("a[data-role='ROLE_ANONYME']").children("span").html($('.role-ROLE_ANONYME').length); + $("a[data-role='ROLE_USER']").children("span").html($('.role-ROLE_USER').length); + $("a[data-role='ROLE_MODO']").children("span").html($('.role-ROLE_MODO').length); + $("a[data-role='ROLE_ADMIN']").children("span").html($('.role-ROLE_ADMIN').length); + + function updateItems() { + $('.list-item:not(.list-item-placeholder').each(function(i) { + var itemid = $(this).data('flux-id'); + $(this).find('input[name="flux_item[rowOrder][]"]').val(i); + + // Mise à jour en base de l'order + $.ajax({ + method: "POST", + url: "{{ path('cadoles_portal_config_flux_order') }}", + data: { + id:itemid, + order:i + } + }); + + }); + } + + $( "#list" ).sortable({ + axis: "y", + placeholder: "list-item list-item-placeholder", + update: updateItems + }); + + $('#role-filter a').click(function(){ + // On réactive les auters filtres à tout + $('#group-filter a').removeClass('active'); + $(".filterfgall").addClass('active'); + + // On rend actif la zone cliquée + $('#role-filter a').removeClass('active'); + $(this).addClass('active'); + + // On cache l'ensemble des elements + $(".list-item").hide(); + + // On affiche les elements filtrés + if($(this).hasClass('filterfgall')) + var $fluxs = $('.list-item'); + else + var $fluxs = $('.role-'+$(this).data('role')); + + $fluxs.show(); + + return false; + }); + + $('#group-filter a').click(function(){ + // On réactive les auters filtres à tout + $('#role-filter a').removeClass('active'); + $(".filterfgall").addClass('active'); + + // On rend actif la zone cliquée + $('#group-filter a').removeClass('active'); + $(this).addClass('active'); + + // On cache l'ensemble des elements + $(".list-item").hide(); + + // On affiche les elements filtrés + if($(this).hasClass('filterfgall')) + var $fluxs = $('.list-item'); + else + var $fluxs = $('.group-'+$(this).data('role')); + + $fluxs.show(); + + return false; + }); + } ); +{% endblock %} + + diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Item/list.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Item/list.html.twig index e55f9cea..9cdf7764 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Item/list.html.twig +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Item/list.html.twig @@ -27,7 +27,7 @@
{% for item in itemcategory.items %} -
+
diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/default.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/default.html.twig new file mode 100644 index 00000000..46e69f84 --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/default.html.twig @@ -0,0 +1,142 @@ +{% extends '@CadolesCore/base.html.twig' %} + +{% block localstyle %} + + + +.thumbnail img { + width:200px; + border: 5px solid #fff; + border-radius: 10px; +} + +.caption { + margin-top: -15px; +} + +.caption p { + text-align:justify; + font-size:14px; + word-wrap: break-word; + +} + +.caption ul { + margin-top:-10px; + padding-left: 20px; +} + +.caption li { + text-align:left; + font-size:14px; + word-wrap: break-word; + font-style: italic; + +} + +{% endblock %} + + +{% block pagewrapper %} +
+ + + +

{{ app.session.get('appname') }}

+
+ +
+ + {% if not app.user and moderegistration!="none" and masteridentity=="SQL"%} + Mot de passe oublié ? + {% endif %} +
+ +
+
+
+ + +
+

Portail
Profilé

+

Tous les éléments du portail peuvent être distribués en fonction du profil de l'utilisateur.

+

Il est possible de définir le profil de l'utilisateur en fonction : +

    +
  • De son groupe d'appartenance
  • +
  • D'attributs Annuaire
  • +
  • D'attributs SSO
  • +
+

+

En fonction du profil de l'utilisateur, il est possible de distribuer : +

    +
  • Des pages en onglet
  • +
  • Des Flux RSS
  • +
  • Des Annonces
  • +
  • Des Applications Web
  • +
  • Des Calendriers
  • +
+

+
+
+
+ +
+
+ + +
+

Portail
Personnalisable

+

Les utilisateurs du portail sont libres de créer leur propre page.

+

Les pages de l'utilisateur pouvant prendre plusieurs formes : +

    +
  • Une page pointant sur l'adresse d'un autre site
  • +
  • Une page construite par l'utilisateur via l'utilisation d'un éditeur riche
  • +
  • Une page constituée de widgets qu'il dispose selon son libre choix
  • +
+

+
+
+
+ + +
+
+ + +
+

Portail
Evolutif

+

NinthGate est évolutif dans le sens où, vous disposerez d'une large bibliothèque de widgets qui composeront vos pages

+

Voici quelques exemples : +

    +
  • Widget URL
  • +
  • Widget Flux RSS
  • +
  • Widget Editeur de texte
  • +
  • Widget Gestionnaire de tâches
  • +
  • Widget Calendriers
  • +
  • Widget Favoris
  • +
  • Widget Dépôt de Fichiers
  • +
  • Et bien d'autres encore
  • +
+
+
+
+ +
+
+ + +
+

Portail
Open Source

+

Ce projet est opensource +

    +
  • Vous pouvez à tout moment modifier le code de votre portail
  • +
  • Distribuer {{ app.session.get('appname') }}
  • +
+

+

NinthGate est développé dans le cadre du projet Envole. Vous pourrez trouver le code source de NinthGate sur la forge du projet

+

NinthGate est propulsé par la société Cadoles

+
+
+
+
+{% endblock %} \ No newline at end of file diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/list.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/list.html.twig index c673182d..0ed052df 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/list.html.twig +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/list.html.twig @@ -12,7 +12,7 @@
- Liste des Utilisateurs + Liste des Pages
diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/pages.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/pages.html.twig new file mode 100644 index 00000000..b5e5113b --- /dev/null +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/pages.html.twig @@ -0,0 +1,221 @@ + +{% extends '@CadolesCore/base.html.twig' %} + +{% block localstyle %} + body{overflow-y:hidden} +{% endblock %} + +{% block appmenu %} + + + +{% endblock %} + +{% block pagewrapper %} +
+ + + + +{% endblock %} + +{% block localjavascript %} + var idpage; + + $('document').ready(function(){ + {% for page in pagesadmin %} + {% if page.id==entity.id %} + showPage({{ page.id }}, {{ page.pagecategory.id }},{{ page.canupdate }}); + {% endif %} + {% endfor %} + + {% for page in pagesuser %} + {% if page.id==entity.id %} + showPage({{ page.id }}, {{ page.pagecategory.id }},{{ page.canupdate }}); + {% endif %} + {% endfor %} + }); + + $(window).resize(function() { + resizeFrame(); + }); + + function resizeFrame() { + var iFrame = document.getElementById('frameContent'); + + var heightbody = $('html').height(); + var heightheader = $('.header').height(); + if($('#appmenu').css("display")=="none") + var heightmenu = 0; + else + var heightmenu = $('#appmenu').height(); + + + var heightframe = heightbody-heightheader-heightmenu; + + $(".pageframe").each(function( index ) { + $(this).height(heightframe); + }); + } + + // Affichage des frames associés aux items de bureau + function showFrameitem(id,url,forcereload) { + $(".pageframe").hide(); + + if($("#frameitem-"+id).length) { + if(forcereload) { + $("#frameitem-"+id).attr("src",url); + } + $("#frameitem-"+id).show(); + } + else { + $("#pagecontainer").append(""); + } + + resizeFrame(); + } + + // Affichages des pages + function showPage(id,catid,canupdate) { + // Sauvegarder la page en cours + idpage=id; + + // Cacher toutes les pages + $(".pageframe").hide(); + + // Rendre actif le page en cours dans le menu + $(".navbar-top-links li").removeClass("active"); + $("#menupage-"+id).addClass("active"); + + // Si la page en cours existe déjà on l'affiche + if($("#page-"+id).length) { + $("#page-"+id).show(); + } + // Sinon on la génère + else { + var url="{{ path('cadoles_portal_user_page_view',{id:'xx'}) }}"; + url=url.replace('xx',id); + $("#pagecontainer").append(""); + } + + // Cacher les actions possibles sur la page + $("#menuupdate").hide(); + $("#menudelete").hide(); + $("#menuwidget").hide(); + + if(canupdate) { + $("#menuupdate").show(); + $("#menudelete").show(); + } + + // Si page de type widget on affiche la selection des widgets à insérer + if($("#page-"+id).data('category')==2&&canupdate) + $("#menuwidget").show(); + + // On resize les frame + resizeFrame(); + } + + function submitPage() { + var url="{{ path('cadoles_portal_'~access~'_page_submit') }}"; + $(location).attr('href',url); + } + + function updatePage() { + if($("#page-"+idpage).length) { + var url="{{ path('cadoles_portal_'~access~'_page_update',{id:'xx'}) }}"; + url=url.replace('xx',idpage); + + $(location).attr('href',url); + } + } + + function deletePage() { + if($("#page-"+idpage).length) { + if (confirm('Êtes-vous sûr de vouloir supprimer ?')) { + var url="{{ path('cadoles_portal_'~access~'_page_delete',{id:'xx'}) }}"; + url=url.replace('xx',idpage); + + $(location).attr('href',url); + } + } + } + + // Création d'un widget selectionné + function selWidget(idwidgettype) { + var url="{{ path('cadoles_portal_user_pagewidget_widget_sumbit',{idpage:'yy',idwidgettype:'xx'})}}"; + url=url.replace('xx',idwidgettype); + url=url.replace('yy',idpage); + + $(location).attr('href', url); + }; + +{% endblock %} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/submit.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/submit.html.twig index 97f58b07..579e065d 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/submit.html.twig +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/submit.html.twig @@ -8,7 +8,11 @@

{{ form_widget(form.submit) }} - Annuler + {% if access=="config" %} + Annuler + {% else %} + Annuler + {% endif %}

{% if app.session.flashbag.has('error') %} @@ -36,8 +40,9 @@
{{ form_row(form.name) }} - {{ form_row(form.roworder) }} {{ form_row(form.pagecategory) }} + {{ form_row(form.roworder) }} + {{ form_row(form.maxwidth) }}
{{ form_end(form) }} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateeditor.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateeditor.html.twig index 2ba48c66..1b1e0393 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateeditor.html.twig +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateeditor.html.twig @@ -12,7 +12,11 @@

{{ form_widget(form.submit) }} - Annuler + {% if access=="config" %} + Annuler + {% else %} + Annuler + {% endif %} {% if mode=="update" %} -

+ {% if form.roles is defined %} +
+ {% else %} +
+ {% endif %} + {{ form_row(form.name) }} {{ form_row(form.roworder) }} + {{ form_row(form.maxwidth) }} {{ form_row(form.html) }}
-
- {{ form_row(form.roles) }} - {{ form_row(form.groups) }} -
+ {% if form.roles is defined %} +
+ {{ form_row(form.roles) }} + {{ form_row(form.groups) }} +
+ {% endif %}
{{ form_end(form) }} {% endblock %} \ No newline at end of file diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateurl.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateurl.html.twig index b94013e7..d8ac97f0 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateurl.html.twig +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateurl.html.twig @@ -12,7 +12,11 @@

{{ form_widget(form.submit) }} - Annuler + {% if access=="config" %} + Annuler + {% else %} + Annuler + {% endif %} {% if mode=="update" %} -

+ {% if form.roles is defined %} +
+ {% else %} +
+ {% endif %} -
- {{ form_row(form.roles) }} - {{ form_row(form.groups) }} -
+ {{ form_row(form.name) }} + {{ form_row(form.url) }} + {{ form_row(form.roworder) }} + {{ form_row(form.maxwidth) }} +
+ + {% if form.roles is defined %} +
+ {{ form_row(form.roles) }} + {{ form_row(form.groups) }} +
+ {% endif %}
{{ form_end(form) }} {% endblock %} \ No newline at end of file diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updatewidget.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updatewidget.html.twig index e8771299..d657f2ee 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updatewidget.html.twig +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updatewidget.html.twig @@ -150,7 +150,11 @@

{{ form_widget(form.submit) }} - Annuler + {% if access=="config" %} + Annuler + {% else %} + Annuler + {% endif %} {% if mode=="update" %} -

+ {% if form.roles is defined %} +
+ {% else %} +
+ {% endif %} + {{ form_row(form.name) }} {{ form_row(form.roworder) }} + {{ form_row(form.maxwidth) }} {{ form_row(form.template) }}
-
- {{ form_row(form.roles) }} - {{ form_row(form.groups) }} -
+ {% if form.roles is defined %} +
+ {{ form_row(form.roles) }} + {{ form_row(form.groups) }} +
+ {% endif %}

Template de Mise en Page

diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/vieweditor.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/vieweditor.html.twig index 9403df9e..fa858ce9 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/vieweditor.html.twig +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/vieweditor.html.twig @@ -2,27 +2,22 @@ {% extends '@CadolesCore/base.html.twig' %} {% block pagewrapper %} -
+ {% if access=="config" %} + {% endblock %} {% block localjavascript %} $('document').ready(function(){ - $(".pagemenu").append(""); - $(".pagemenu").append(""); }); {% endblock %} diff --git a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/viewurl.html.twig b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/viewurl.html.twig index d0c27d65..3c0c9c14 100644 --- a/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/viewurl.html.twig +++ b/src/cadolesuser-1.0/src/Cadoles/PortalBundle/Resources/views/Page/viewurl.html.twig @@ -6,34 +6,27 @@ {% endblock %} {% block pagewrapper %} - + {% if access=="config" %} +