, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/sites/all/modules/imce/README.txt b/sites/all/modules/imce/README.txt
new file mode 100644
index 0000000..11515ee
--- /dev/null
+++ b/sites/all/modules/imce/README.txt
@@ -0,0 +1,181 @@
+
+IMCE
+http://drupal.org/project/imce
+====================================
+
+DESCRIPTION
+-----------
+IMCE is an image/file uploader and browser that supports personal directories and quota.
+IMCE can easily be integrated into any WYSIWYG editor or any web application that needs a file browser.
+See INTEGRATION METHODS for more information.
+
+FEATURES
+-----------
+- Basic file operations: upload, delete
+- Image(jpg, png, gif) operations: resize, create thumbnails, preview
+- Support for private file system
+- Configurable limits for user roles: file size per upload, directory quota, file extensions, and image dimensions
+- Personal or shared folders for users
+- Permissions per directory
+- Ftp-like directory navigation
+- File sorting by name, size, dimensions, date
+- Tabbed interface for file operations
+- Keyboard shortcuts(up, down, insert(or enter), delete, home, end, ctrl+A, R(esize), T(humbnails), U(pload)).
+- Built-in support for inline image/file insertion into textareas
+- Multiple file selection(using ctrl or shift)
+- Ajax file operations
+- Themable layout using tpl files
+
+INSTALLATION
+-----------
+1) Copy imce directory to your modules directory
+2) Enable the module at module administration page
+3) Create configuration profiles and assign them to user roles at /admin/config/media/imce
+4) Test it at /imce.
+5) See imce-content.tpl.php for some configuration options such as inline previewing.
+6) See INTEGRATION METHODS to make IMCE collaborate with your application if it's not already integrated.
+Notes:
+ - When you configure IMCE for inline image/file insertion into textareas there should appear an IMCE link under each textarea you specified.
+ - If you are uploading files containing unicode characters, it is strongly recommended to use the transliteration module that sanitizes filenames by converting characters from unicode to us-ascii. http://drupal.org/project/transliteration
+ - If you are using CCK, you may want to check the File field sources module at http://drupal.org/project/filefield_sources
+
+
+FREQUENTLY FACED ISSUES
+-----------
+- Inaccessible/invalid directory or subdirectory:
+In some server configurations, manually(ftp or directly) created directories may not be writable by PHP(by IMCE). In this case, you have to set the chmod permissions of the directory to 0777 in order to make it writable by anyone.
+You should also make sure that in each configuration profile all of the defined directories are located under drupal's file system path which is usually "files".
+And also if "safe mode restriction" is active in your server, don't expect IMCE to run flawlessly.
+
+- Disappearing images after node submission:
+Having nothing to do with IMCE, it appeared many times in issue queues. This is an input filtering issue that can be resolved by adding tag into the default input format. Using Full HTML is another solution. See admin/config/content/formats.
+
+- Upload does not work in Opera
+Jquery form plugin before version 2.09 has problems with Opera 9.2+. Replace Drupal's misc/jquery.form.js with the one at http://jquery.malsup.com/form/#download
+
+- IMCE may have problem working with Google Analytics and Secure pages modules. Just make sure to add *imce* path to the exceptions list of these modules.
+
+
+INTEGRATION METHODS
+-----------
+
+Here are the applications that already integrated IMCE.
+
+WYSIWYG:
+Install http://drupal.org/project/imce_wysiwyg bridge module and enable IMCE as a plug-in in WYSIWYG settings
+
+BUEditor:
+IMCE is integrated in image and link dialogs.
+
+(F)CKeditor(without WYSIWYG):
+(F)ckeditor profile->File browser settings->IMCE integration
+
+If your application is not one of the above, please keep reading in order to learn how to integrate IMCE.
+
+Let's create a CASE and embody the IMCE integration on it:
+- An application named myApp
+- Has an url field for file url:
+
+- Has a browse button with click event(inline or set by jQuery): (This can be a text link or anything that is clickable)
+
+
+Now let's go through the integration methods and define the openFileBrowser function that opens IMCE and makes it fill our url field on file selection.
+
+
+INTEGRATION BY URL
+-----------
+When IMCE is opened using an url that contains &app=applicationName|fileProperty1@FieldId1|fileProperty2@FieldId2|...
+the specified fields are filled with the specified properties of the selected file.
+
+Available file properties are: url, name, size(formatted), width, height, date(formatted), bytes(integer size in bytes), time(integer date timestamp), id(file id for newly uploaded files, 0 or integer), relpath(rawurlencoded path relative to file directory path.)
+
+In our CASE, we should open IMCE using this URL: /imce?app=myApp|url@urlField which contains our application name and our url field id
+
+function openFileBrowser() {
+ window.open('/imce?app=myApp|url@urlField', '', 'width=760,height=560,resizable=1');
+}
+
+That's all we need. Leave the rest to IMCE.
+It will automatically create an operation tab named "Send to myApp" that sends the file url to our url field.
+Clicking the files in preview do the same thing as well.
+
+- What if we had another field for another file property e.g, Size: ?
+- We should have opened imce using this URL: /imce?app=myApp|url@urlField|size@file-size
+
+
+- USING imceload:
+You can point a predefined function to be executed when IMCE loads.
+When the URL is like "app=myApp|imceload@myOnloadFunc", IMCE looks for "myOnloadFunc" in the parent window and executes it with the window parameter referring to IMCE window.
+function myOnloadFunc (win) {//any method of imce is available through win.imce
+ win.imce.setSendTo('Give it to myApplication baby', myFileHandler);//you should also define myFileHandler
+}
+
+- USING sendto:
+You can point a predefined function to which the selected files are sent.
+When the URL is like "app=myApp|sendto@myFileHandler", IMCE calls "myFileHandler" function of the parent window with file and window parameters.
+function myFileHandler (file, win) {
+ $('#urlFieldId').val(file.url);//insert file url into the url field
+ win.close();//close IMCE
+}
+Usually sendto method is easier to implement, on the other hand imceload method is more flexible as you manually add your sento operator and also can do any modification before IMCE shows up.
+
+
+ADVANCED INTEGRATION
+-----------
+In case:
+- Your application wants to go beyond the simple "give me that file property" interaction with IMCE.
+- Your application wants IMCE to send multiple files to it.(e.g., a gallery application)
+- Your application wants to gain total control over IMCE.
+Then you should consider applying advanced integration.
+
+The initial step of advanced integration is the same as imceload-integration above.
+
+We open IMCE and set its onload function:
+
+window.open('/imce?app=myApp|imceload@initiateMyApp', '', 'width=760,height=560,resizable=1'); //initiateMyApp(win) will run when imce loads
+
+Now we define our initiator function in which we do the necessary manipulations to IMCE interface:
+
+initiateMyApp = function (win) {
+ var imce = win.imce;
+ ...use imce methods to add/remove/change things...
+}
+
+- Allright, but what do we add/romeve/change in IMCE ?
+- Depends on our goal. Here are some properties and methods that can help us to achieve it:
+
+Hooks
+imce.hooks.load: an array of functions that run after imce loads. they are called with the window parameter.
+imce.hooks.list: an array of functions that run while processing the file list. each row of the file list is sent to these functions.
+imce.hooks.navigate: an array of functions that run after a directory is loaded. parameters sent are data(from ajax or cache), old_directory, cached(boolean that states the data is from the cache or not).
+imce.hooks.cache: an array of functions that run just before a new directory is loaded. parameters are cached_data and new_directory.
+
+Directory related properties
+imce.tree: stores the directory list where imce.tree['.'] is the root element.
+
+Directory related methods
+imce.dirAdd(directory_name, parent_element, clickable): adds directory_name under parent_element. ex: imce.dirAdd('foo', imce.dir['.'], true)
+imce.dirSubdirs(directory_name, subdirectories): adds each subdirectory in subdirectories array under directory_name. ex: imce.dirSubdirs('foo', ['bar', 'baz'])
+
+File related properties
+imce.findex: indexed array of files(table rows that contain file properties.)
+imce.fids: object containing file_id(file name)-file(row) pairs.
+imce.selected: object containing currently selected file_id(file name)-file(row) pairs.
+
+File related methods
+imce.fileAdd(file): adds the file object to the list. file object has the properties; name, size(bytes), width, height, date(timestamp), fsize(formatted), fdate(formatted)
+imce.fileRemove(fiile_id): removes the file having the file_id from the list.
+imce.fileGet(file_id). returns the file object having the file_id. file object contains name, url, size, bytes, width, height, date, time, id(file id for newly uploaded files, 0 or integer), relpath(rawurlencoded path relative to file directory path.)
+
+File operations
+imce.opAdd(op): adds an operation tab to the interface. op contains name, title, content(optional), func(optional onclick function)
+imce.opEnable(name), imce.opDisable(name): enable/disable operation tabs.
+
+Miscellaneous
+imce.setMessage(msg, type): logs a message of the type(status, warning, error)
+
+NOTES:
+- All URL strings in the examples start with "/" considering the base path is "/".
+In case your drupal is running on a sub directory e.g, http://localhost/drupal, these URLs should start with "/drupal/".
+There is a safer solution that does not require manual URL fixing: If the Drupal javascript object is available in your page you can use Drupal.settings.basePath at the beginning of URLs (Drupal.settings.basePath+'?q=imce....'). Note that, this won't work with multilingual paths with language prefixes.
+- file and directory ids(names) used in imce.js are url encoded forms of original names. They are decoded using imce.decode and displayed in the lists.
\ No newline at end of file
diff --git a/sites/all/modules/imce/css/close.png b/sites/all/modules/imce/css/close.png
new file mode 100644
index 0000000..ea709d0
Binary files /dev/null and b/sites/all/modules/imce/css/close.png differ
diff --git a/sites/all/modules/imce/css/collapsed.png b/sites/all/modules/imce/css/collapsed.png
new file mode 100644
index 0000000..aa4a932
Binary files /dev/null and b/sites/all/modules/imce/css/collapsed.png differ
diff --git a/sites/all/modules/imce/css/delete.png b/sites/all/modules/imce/css/delete.png
new file mode 100644
index 0000000..277f9f3
Binary files /dev/null and b/sites/all/modules/imce/css/delete.png differ
diff --git a/sites/all/modules/imce/css/error.png b/sites/all/modules/imce/css/error.png
new file mode 100644
index 0000000..b92fb75
Binary files /dev/null and b/sites/all/modules/imce/css/error.png differ
diff --git a/sites/all/modules/imce/css/expanded.png b/sites/all/modules/imce/css/expanded.png
new file mode 100644
index 0000000..5179e82
Binary files /dev/null and b/sites/all/modules/imce/css/expanded.png differ
diff --git a/sites/all/modules/imce/css/folder-open.png b/sites/all/modules/imce/css/folder-open.png
new file mode 100644
index 0000000..ce473f4
Binary files /dev/null and b/sites/all/modules/imce/css/folder-open.png differ
diff --git a/sites/all/modules/imce/css/folder-root.png b/sites/all/modules/imce/css/folder-root.png
new file mode 100644
index 0000000..140d5f2
Binary files /dev/null and b/sites/all/modules/imce/css/folder-root.png differ
diff --git a/sites/all/modules/imce/css/folder.png b/sites/all/modules/imce/css/folder.png
new file mode 100644
index 0000000..6e05912
Binary files /dev/null and b/sites/all/modules/imce/css/folder.png differ
diff --git a/sites/all/modules/imce/css/header.png b/sites/all/modules/imce/css/header.png
new file mode 100644
index 0000000..4a1e8c6
Binary files /dev/null and b/sites/all/modules/imce/css/header.png differ
diff --git a/sites/all/modules/imce/css/help.png b/sites/all/modules/imce/css/help.png
new file mode 100644
index 0000000..8f7af95
Binary files /dev/null and b/sites/all/modules/imce/css/help.png differ
diff --git a/sites/all/modules/imce/css/imce-content.css b/sites/all/modules/imce/css/imce-content.css
new file mode 100644
index 0000000..f746e0d
--- /dev/null
+++ b/sites/all/modules/imce/css/imce-content.css
@@ -0,0 +1,460 @@
+
+/*Body*/
+body.imce {
+ padding: 2px;
+ background: none;
+ text-align: left;
+ height: auto;
+}
+
+/*Main container*/
+/*reset all tags.*/
+#imce-content, #imce-content * {
+ font: 11px/16px Verdana, sans-serif;
+ margin: 0;
+ padding: 0;
+ color: #444;
+ background: none;
+ border: none;
+ float: none;
+ list-style: none;
+}
+#imce-content {
+ position: relative;
+ background-color: #fff;
+}
+#imce-content a {
+ text-decoration: none;
+}
+#imce-content label {
+ font-weight: bold;
+}
+#imce-content label.option {
+ font-weight: normal;
+}
+#imce-content input.form-text, #imce-content input[type=text], #imce-content input.form-file, #imce-content input[type=file], #imce-content select, #imce-content textarea {
+ border: 1px inset #aaa;
+ padding: 2px;
+ background-color: #fff;
+ margin: 1px;
+ width: auto;
+}
+#imce-content input.form-submit, #imce-content input[type=submit], #imce-content button {
+ border: 2px groove #fff;
+ padding: 2px 6px 2px 20px;
+ margin: 2px 0;
+ background: #e8e8d8 url(submit.png) no-repeat 2px 50%;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+}
+#imce-content [disabled], #imce-content .disabled {
+ color: #999;
+ cursor: default;
+ text-decoration: none !important;
+}
+#imce-content input.loading {
+ background-image: url(loading.gif) !important;
+}
+#imce-content .form-item {
+ margin: 4px 0;
+}
+#imce-content .form-item .description {
+ font-size: 0.9em;
+}
+#imce-content strong, #imce-content h4 {
+ font-weight: bold;
+}
+#imce-content em {
+ font-style: italic;
+}
+#imce-content ul.tips {
+ margin: 2px 8px;
+}
+#imce-content ul.tips li {
+ list-style: circle inside;
+ line-height: 18px;
+}
+
+/*Main sections under imce-content*/
+#ops-wrapper {
+ margin-bottom: 2px;
+ background: #d0d7e7 url(ops.png) repeat-x;
+ border: 1px solid #a5b9cd;
+}
+#browse-wrapper {
+ overflow: hidden;
+ height: 260px;
+ clear: both;
+}
+#browse-resizer {}
+#preview-wrapper {
+ height: 180px;
+ overflow: auto;
+}
+
+/*columns of browse-wrapper*/
+#navigation-wrapper {
+ width: 25%;
+ height: 100%;
+ overflow: auto;
+ float: left;
+ position: relative;
+}
+#navigation-resizer {
+ height: 100%;
+ float: left;
+}
+#sub-browse-wrapper {
+ height: 100%;
+ overflow: auto;
+ position: relative;
+}
+
+/*rows of sub-browse wrapper*/
+#file-header-wrapper {
+ height: 25px;
+ background: url(header.png) repeat-x 0 0;
+ position: relative;
+}
+#file-list-wrapper {
+ padding-bottom: 20px;/*#dir-stat height*/
+ outline: none;
+}
+#dir-stat {
+ position: absolute;
+ z-index: 1;
+ bottom: 0;
+ padding: 2px 5px;
+ background-color: #e9ecef;
+}
+
+#dir-stat, #dir-stat * {
+ font-size: 0.9em;
+}
+
+/*Navigation header*/
+#navigation-header {
+ background: url(header.png) repeat-x 0 0;
+ position: absolute;
+ z-index: 1;
+ width: 100%;
+ height: 25px;
+}
+#navigation-header span {
+ display: inline-block;
+ padding: 4px 4px 5px 20px;
+ font-weight: bold;
+ background: url(tree.png) no-repeat 0 50%;
+}
+
+/*Navigation tree (ul)*/
+#navigation-tree {
+ margin-top: 25px;/*navigation-header height*/
+}
+#navigation-tree ul {
+ margin-left: 15px;
+}
+#navigation-tree li {
+ padding: 2px;
+ background: transparent url(collapsed.png) no-repeat 3px 6px;
+ white-space: nowrap;
+}
+#navigation-tree li.expanded {
+ background-image: url(expanded.png);
+}
+#navigation-tree li.leaf {
+ background-image: url(leaf.png);
+}
+#navigation-tree li.loading {
+ background-image: url(loading.gif);
+ background-position: 0 2px;
+}
+#navigation-tree li span.expander {
+ display: inline-block;
+ width: 12px;
+ cursor: pointer;
+ margin-right: 1px;
+}
+#navigation-tree li a {
+ display: inline-block;
+}
+#navigation-tree li a:hover {
+ text-decoration: underline;
+}
+#navigation-tree li a.folder {
+ margin-left: 2px;
+ padding-left: 18px;
+ background: transparent url(folder.png) no-repeat 0 50%;
+}
+#navigation-tree li a.active {
+ font-weight: bold;
+ background-image: url(folder-open.png);
+ background-color: #ecf0f4;
+}
+#navigation-tree li.root > a.folder {
+ background-image: url(folder-root.png);
+}
+
+/*File list and header. (Accessible by #file-list and #file-header. Both have the classname "files")*/
+#file-header, #file-list {
+ table-layout: fixed;
+ width: 100%;
+}
+#file-header td {
+ padding: 4px;
+ font-weight: bold;
+ cursor: default;
+}
+#file-header td.asc {
+ color: #f60;
+}
+#file-header td.asc:after {
+ content: "\2193";
+ font-weight: normal;
+}
+#file-header td.desc {
+ color: #09f;
+}
+#file-header td.desc:after {
+ content: "\2191";
+ font-weight: normal;
+}
+#file-list td {
+ overflow: hidden;
+ border-top: 1px solid #ccf;
+ border-bottom: 1px solid #ccf;
+ padding: 4px;
+ cursor: default;
+}
+#file-list td.name, #file-header td.name {
+ min-width: 12em;
+ white-space: nowrap;
+}
+#file-list td.size, #file-header td.size {
+ width: 6.5em;
+ text-align: right;
+}
+#file-list td.width, #file-header td.width {
+ width: 5em;
+ text-align: right;
+}
+#file-list td.height, #file-header td.height {
+ width: 5em;
+}
+#file-list td.date, #file-header td.date {
+ width: 12em;
+ text-align: center;
+}
+#file-list tr:hover td {
+ background-color: #e9ecef;
+}
+#file-list tr.selected td {
+ background-color: #07f;
+ color: #fff;
+}
+#file-list tr.selected span {
+ color: #fff;
+}
+#file-list td.name img {
+ vertical-align: middle;
+ margin-right: 3px;
+}
+
+
+/*File operations*/
+#op-items {
+ min-height: 26px;
+}
+#op-contents {
+ position: absolute;
+ z-index: 2;
+}
+#op-contents .op-content {
+ display: none;
+ padding: 16px;
+ border: 2px solid #344454;
+ background-color: #f5f5f5;
+ position: relative;
+}
+#op-close-link {
+ display: none;
+ position: absolute;
+ z-index: 3;
+ top: 2px;
+ right: 2px;
+ width: 16px;
+ height: 16px;
+ background: url(close.png) no-repeat 50% 50%;
+}
+#ops-list {
+}
+#ops-list li {
+ display: block;
+ float: left;
+}
+#ops-list a {
+ display: block;
+ padding: 5px 8px 5px 20px;
+ text-decoration: none;
+ background: url(op.png) no-repeat 2px 50%;
+}
+#ops-list a:hover {
+ background-color: #e9ecef;
+}
+#ops-list li.active a {
+ background-color: #f9f8f7;
+}
+#ops-list a span {
+ display: inline-block;
+ color: #0e1f43;
+ padding-left: 1px;
+}
+#ops-list li.loading a {
+ background-image: url(loading.gif);
+}
+
+/*Custom op styles*/
+#op-item-upload a, #imce-content #edit-upload {
+ background-image: url(upload.png);
+}
+#op-item-thumb a, #imce-content #edit-thumb {
+ background-image: url(thumb.png);
+}
+#op-item-resize a, #imce-content #edit-resize {
+ background-image: url(resize.png);
+}
+#op-item-delete a {
+ background-image: url(delete.png);
+}
+#op-item-sendto a {
+ background-image: url(sendto.png);
+}
+#op-item-help a {
+ background-image: url(help.png);
+}
+#op-item-changeview a {
+ background-image: url(view-box.png);
+}
+.box-view #op-item-changeview a {
+ background-image: url(view-list.png);
+}
+#op-item-help a, #op-item-changeview a {
+ white-space: nowrap;
+ overflow: hidden;
+ width: 1px;
+ padding: 5px 0 5px 25px;
+ background-position: 5px 50%;
+}
+#op-item-help, #op-item-changeview {
+ float: right !important;
+}
+
+/*resizers*/
+#imce-content .y-resizer {
+ height: 5px;
+ cursor: n-resize;
+ background: #f4f5f6 url(y-resizer.png) no-repeat 50% 50%;
+ border-top: 1px solid #e0e3e5;
+ border-bottom: 1px solid #e0e3e5;
+}
+#imce-content .x-resizer {
+ width: 5px;
+ cursor: e-resize;
+ background: #f4f5f6 url(x-resizer.png) no-repeat 50% 50%;
+ border-left: 1px solid #e0e3e5;
+ border-right: 1px solid #e0e3e5;
+}
+
+/*Message box*/
+#message-box {
+ display: none;
+ position: absolute;
+ width: 60%;
+ left: 20%;
+ top: 32%;
+ z-index: 10;
+ padding: 5px;
+ background-color: #fff;
+ border: 2px solid #000;
+}
+#message-box * {
+ font-size: 1.1em;
+ font-weight: bold;
+ color: #000;
+}
+#imce-content div.message {
+ background: url(status.png) no-repeat 0 0;
+ padding-left: 20px;
+ margin: 2px 0;
+}
+#imce-content div.error {
+ background: url(error.png) no-repeat 0 0;
+ padding-left: 20px;
+}
+#imce-content div.warning {
+ background: url(warning.png) no-repeat 0 0;
+ padding-left: 20px;
+}
+#log-messages {
+ height: 60px;
+ overflow: auto;
+ border: 1px solid #000;
+ padding: 2px 4px;
+}
+#log-messages * {
+ font-family: monospace;
+}
+
+#file-preview {
+ text-align: center;
+}
+.imce-hide, .js #forms-wrapper, #help-box {
+ display: none;
+}
+
+/*IE*/
+.ie #imce-content input, .ie #imce-content select {
+ vertical-align: middle;
+ line-height: 1.2em;
+}
+.ie-7 #navigation-tree li {
+ list-style-image: none;
+}
+.ie-7 #imce-content input.form-submit, .ie-7 #imce-content input[type=submit], .ie-7 #imce-content button {
+ border-style: outset;
+}
+.ie-7 #ops-list a span {
+ cursor: pointer;
+}
+.ie-7 #file-list-wrapper {
+ display: inline-block; /* Gives hasLayout */
+}
+
+/* File list in box view */
+.box-view #file-list tr {
+ display: block;
+ float: left;
+ border: 1px solid #ccf;
+ margin: 10px;
+}
+.box-view #file-list td {
+ border: 0;
+}
+.box-view #file-list td.name {
+ min-width: 0;
+ padding: 5px;
+ text-align: center;
+ vertical-align: middle;
+}
+.box-view #file-list td.name img {
+ margin: 0;
+}
+.box-view #file-list td.name span {
+ display: block;
+ overflow: hidden;
+ white-space: nowrap;
+}
+.box-view #file-list td.size, .box-view #file-list td.date, .box-view #file-list td.width, .box-view #file-list td.height {
+ display: none;
+}
\ No newline at end of file
diff --git a/sites/all/modules/imce/css/leaf.png b/sites/all/modules/imce/css/leaf.png
new file mode 100644
index 0000000..605d3ac
Binary files /dev/null and b/sites/all/modules/imce/css/leaf.png differ
diff --git a/sites/all/modules/imce/css/loading.gif b/sites/all/modules/imce/css/loading.gif
new file mode 100644
index 0000000..16baa5b
Binary files /dev/null and b/sites/all/modules/imce/css/loading.gif differ
diff --git a/sites/all/modules/imce/css/op.png b/sites/all/modules/imce/css/op.png
new file mode 100644
index 0000000..74055e2
Binary files /dev/null and b/sites/all/modules/imce/css/op.png differ
diff --git a/sites/all/modules/imce/css/ops.png b/sites/all/modules/imce/css/ops.png
new file mode 100644
index 0000000..25b4c2c
Binary files /dev/null and b/sites/all/modules/imce/css/ops.png differ
diff --git a/sites/all/modules/imce/css/resize.png b/sites/all/modules/imce/css/resize.png
new file mode 100644
index 0000000..2ee120c
Binary files /dev/null and b/sites/all/modules/imce/css/resize.png differ
diff --git a/sites/all/modules/imce/css/sendto.png b/sites/all/modules/imce/css/sendto.png
new file mode 100644
index 0000000..9030923
Binary files /dev/null and b/sites/all/modules/imce/css/sendto.png differ
diff --git a/sites/all/modules/imce/css/status.png b/sites/all/modules/imce/css/status.png
new file mode 100644
index 0000000..3359497
Binary files /dev/null and b/sites/all/modules/imce/css/status.png differ
diff --git a/sites/all/modules/imce/css/submit.png b/sites/all/modules/imce/css/submit.png
new file mode 100644
index 0000000..4e04572
Binary files /dev/null and b/sites/all/modules/imce/css/submit.png differ
diff --git a/sites/all/modules/imce/css/thumb.png b/sites/all/modules/imce/css/thumb.png
new file mode 100644
index 0000000..ef29497
Binary files /dev/null and b/sites/all/modules/imce/css/thumb.png differ
diff --git a/sites/all/modules/imce/css/tree.png b/sites/all/modules/imce/css/tree.png
new file mode 100644
index 0000000..645d25c
Binary files /dev/null and b/sites/all/modules/imce/css/tree.png differ
diff --git a/sites/all/modules/imce/css/upload.png b/sites/all/modules/imce/css/upload.png
new file mode 100644
index 0000000..6cba609
Binary files /dev/null and b/sites/all/modules/imce/css/upload.png differ
diff --git a/sites/all/modules/imce/css/view-box.png b/sites/all/modules/imce/css/view-box.png
new file mode 100644
index 0000000..45086f6
Binary files /dev/null and b/sites/all/modules/imce/css/view-box.png differ
diff --git a/sites/all/modules/imce/css/view-list.png b/sites/all/modules/imce/css/view-list.png
new file mode 100644
index 0000000..c761f64
Binary files /dev/null and b/sites/all/modules/imce/css/view-list.png differ
diff --git a/sites/all/modules/imce/css/warning.png b/sites/all/modules/imce/css/warning.png
new file mode 100644
index 0000000..6d27560
Binary files /dev/null and b/sites/all/modules/imce/css/warning.png differ
diff --git a/sites/all/modules/imce/css/x-resizer.png b/sites/all/modules/imce/css/x-resizer.png
new file mode 100644
index 0000000..e54941f
Binary files /dev/null and b/sites/all/modules/imce/css/x-resizer.png differ
diff --git a/sites/all/modules/imce/css/y-resizer.png b/sites/all/modules/imce/css/y-resizer.png
new file mode 100644
index 0000000..3a32f65
Binary files /dev/null and b/sites/all/modules/imce/css/y-resizer.png differ
diff --git a/sites/all/modules/imce/imce.info b/sites/all/modules/imce/imce.info
new file mode 100644
index 0000000..c812d4f
--- /dev/null
+++ b/sites/all/modules/imce/imce.info
@@ -0,0 +1,12 @@
+name = "IMCE"
+description = "An image/file uploader and browser supporting personal directories and user quota."
+core = "7.x"
+package = "Media"
+configure = "admin/config/media/imce"
+
+; Information added by Drupal.org packaging script on 2017-05-27
+version = "7.x-1.11"
+core = "7.x"
+project = "imce"
+datestamp = "1495890787"
+
diff --git a/sites/all/modules/imce/imce.install b/sites/all/modules/imce/imce.install
new file mode 100644
index 0000000..9062e88
--- /dev/null
+++ b/sites/all/modules/imce/imce.install
@@ -0,0 +1,125 @@
+condition('module', 'imce')->execute();
+ variable_del('imce_profiles');
+ variable_del('imce_roles_profiles');
+ variable_del('imce_settings_textarea');
+ variable_del('imce_settings_absurls');
+ variable_del('imce_settings_replace');
+ variable_del('imce_settings_thumb_method');
+ variable_del('imce_settings_disable_private');
+ variable_del('imce_settings_admin_theme');
+ variable_del('imce_custom_content');
+ variable_del('imce_custom_process');
+ variable_del('imce_custom_init');
+ variable_del('imce_custom_scan');
+ variable_del('imce_custom_response');
+}
+
+/**
+ * Updates from 6.x to 7.x.
+ */
+function imce_update_7000() {
+ // Update role-profile assignments
+ $roles_profiles = variable_get('imce_roles_profiles', array());
+ if (!empty($roles_profiles)) {
+ $scheme = variable_get('file_default_scheme', 'public');
+ foreach ($roles_profiles as $rid => &$role) {
+ $role[$scheme . '_pid'] = $role['pid'];
+ unset($role['pid']);
+ }
+ variable_set('imce_roles_profiles', $roles_profiles);
+ }
+ // Update textarea ids
+ $ids = str_replace(' ', '', variable_get('imce_settings_textarea', ''));
+ if ($ids != '') {
+ $ids = explode(',', $ids);
+ foreach ($ids as &$id) {
+ $id .= '*';
+ }
+ variable_set('imce_settings_textarea', implode(', ', $ids));
+ }
+}
+
+/**
+ * Migrates imce files from {files} to {file_managed}.
+ * Removes {imce_files} in favor of {file_usage}.
+ */
+function imce_update_7001(&$sandbox) {
+ if (!db_table_exists('imce_files') || !db_table_exists('files')) {
+ return;
+ }
+ // Initiate progress
+ if (!isset($sandbox['progress'])) {
+ $sandbox['progress'] = 0;
+ $sandbox['last_fid_processed'] = 0;
+ $sandbox['max'] = db_query("SELECT COUNT(*) FROM {imce_files} i INNER JOIN {files} f ON i.fid = f.fid")->fetchField();
+ }
+ // Prepare variables
+ $limit = 250;
+ $basedir = variable_get('file_directory_path', conf_path() . '/files') . '/';
+ $baselen = strlen($basedir);
+ $scheme = file_default_scheme() . '://';
+ $result = db_query_range('SELECT f.* FROM {imce_files} i INNER JOIN {files} f ON i.fid = f.fid WHERE i.fid > :fid ORDER BY i.fid', 0, $limit, array(':fid' => $sandbox['last_fid_processed']))->fetchAll();
+ // Migrate imce files from {files} to {file_managed}
+ foreach ($result as $file) {
+ $relpath = substr($file->filepath, 0, $baselen) == $basedir ? substr($file->filepath, $baselen) : $file->filepath;
+ $file->uri = file_stream_wrapper_uri_normalize($scheme . $relpath);
+ unset($file->filepath);
+ if (!db_query("SELECT 1 FROM {file_managed} WHERE fid = :fid", array(':fid' => $file->fid))->fetchField()) {
+ // Check duplicate uri
+ if ($fid = db_query("SELECT fid FROM {file_managed} WHERE uri = :uri", array(':uri' => $file->uri))->fetchField()) {
+ $file->fid = $fid;
+ }
+ else {
+ drupal_write_record('file_managed', $file);
+ }
+ }
+ file_usage_add($file, 'imce', 'file', $file->fid);
+ $sandbox['progress']++;
+ $sandbox['last_fid_processed'] = $file->fid;
+ }
+ // Drop {imce_files} if the progress is complete.
+ $sandbox['#finished'] = empty($sandbox['max']) ? 1 : $sandbox['progress'] / $sandbox['max'];
+ if ($sandbox['#finished'] >= 1) {
+ db_drop_table('imce_files');
+ return t('Migrated IMCE files.');
+ }
+}
+
+/**
+ * Fixes misconfigurations where anonymous user is given User-1 profile
+ */
+function imce_update_7002() {
+ $roles = variable_get('imce_roles_profiles', array());
+ $rid = DRUPAL_ANONYMOUS_RID;
+ if (!empty($roles[$rid])) {
+ $update = FALSE;
+ foreach ($roles[$rid] as $key => $value) {
+ if ($value == 1 && substr($key, -4) == '_pid') {
+ $roles[$rid][$key] = '0';
+ $update = TRUE;
+ }
+ }
+ if ($update) {
+ variable_set('imce_roles_profiles', $roles);
+ }
+ }
+}
\ No newline at end of file
diff --git a/sites/all/modules/imce/imce.module b/sites/all/modules/imce/imce.module
new file mode 100644
index 0000000..e2b6bae
--- /dev/null
+++ b/sites/all/modules/imce/imce.module
@@ -0,0 +1,215 @@
+ 'File browser',
+ 'page callback' => 'imce',
+ 'access callback' => 'imce_access',
+ 'access arguments' => array(FALSE, 1),
+ 'file' => 'inc/imce.page.inc',
+ 'type' => MENU_CALLBACK,
+ );
+ $items['user/%user/imce'] = array(
+ 'title' => 'File browser',
+ 'page callback' => 'imce_user_page',
+ 'page arguments' => array(1),
+ 'access callback' => 'imce_user_page_access',
+ 'access arguments' => array(1),
+ 'file' => 'inc/imce.page.inc',
+ 'type' => MENU_LOCAL_TASK,
+ 'weight' => 10,
+ );
+ $items['admin/config/media/imce'] = array(
+ 'title' => 'IMCE',
+ 'description' => 'Control how your image/file browser works.',
+ 'page callback' => 'imce_admin',
+ 'access arguments' => $access,
+ 'file' => 'inc/imce.admin.inc',
+ );
+ $items['admin/config/media/imce/profile'] = array(
+ 'title' => 'Add new profile',
+ 'page callback' => 'imce_profile_operations',
+ 'access arguments' => $access,
+ 'type' => MENU_VISIBLE_IN_BREADCRUMB,
+ 'file' => 'inc/imce.admin.inc',
+ );
+ return $items;
+}
+
+/**
+ * Implements hook_admin_paths().
+ */
+function imce_admin_paths() {
+ if (variable_get('imce_settings_admin_theme', FALSE)) {
+ return array(
+ 'imce' => TRUE,
+ 'imce/*' => TRUE,
+ 'file/imce/*' => TRUE,
+ 'imce-filefield/*' => TRUE,
+ );
+ }
+}
+
+/**
+ * Implements hook_permission().
+ */
+function imce_permission() {
+ return array(
+ 'administer imce' => array(
+ 'title' => t('Administer IMCE'),
+ 'restrict access' => TRUE,
+ ),
+ );
+}
+
+/**
+ * Implements hook_theme().
+ */
+function imce_theme() {
+ $path = drupal_get_path('module', 'imce') . '/tpl';
+ $theme['imce_admin'] = array('function' => 'imce_admin_theme', 'render element' => 'form');
+ $theme['imce_directories'] = array('function' => 'imce_directories_theme', 'render element' => 'form');
+ $theme['imce_thumbnails'] = array('function' => 'imce_thumbnails_theme', 'render element' => 'form');
+ $theme['imce_root_text'] = array(
+ 'variables' => array('imce_ref' => NULL),
+ );
+ $theme['imce_user_page'] = array(
+ 'variables' => array('account' => NULL),
+ );
+ $theme['imce_file_list'] = array(
+ 'template' => 'imce-file-list',
+ 'variables' => array('imce_ref' => NULL),
+ 'path' => $path,
+ );
+ $theme['imce_content'] = array(
+ 'template' => 'imce-content',
+ 'variables' => array('tree' => NULL, 'forms' => NULL, 'imce_ref' => NULL),
+ 'path' => $path,
+ );
+ $theme['imce_page'] = array(
+ 'template' => 'imce-page',
+ 'variables' => array('content' => NULL),
+ 'path' => $path,
+ );
+ return $theme;
+}
+
+/**
+ * Implements hook_file_download().
+ * Support private downloads if not disabled.
+ */
+function imce_file_download($uri) {
+ $serve = file_uri_scheme($uri) == 'private' && !variable_get('imce_settings_disable_private', 1) && file_exists($uri) && strpos(basename($uri), '.');
+ if ($serve) {
+ return array(
+ 'Content-type' => file_get_mimetype($uri),
+ 'Content-Length' => filesize($uri),
+ );
+ }
+}
+
+/**
+ * Implements hook_element_info().
+ */
+function imce_element_info() {
+ return array('textarea' => array('#process' => array('imce_textarea')));
+}
+
+/**
+ * Inline image/link insertion to textareas.
+ */
+function imce_textarea($element) {
+ static $regexp;
+ if (!isset($regexp)) {
+ $regexp = FALSE;
+ if (imce_access() && $regexp = str_replace(' ', '', variable_get('imce_settings_textarea', ''))) {
+ $regexp = '@^(' . str_replace(',', '|', implode('.*', array_map('preg_quote', explode('*', $regexp)))) . ')$@';
+ }
+ }
+ if ($regexp && preg_match($regexp, $element['#id'])) {
+ drupal_add_js(drupal_get_path('module', 'imce') . '/js/imce_set_inline.js');
+ $element['#description'] = (isset($element['#description']) ? $element['#description'] : '') . '' . t('Insert !image or !link.', array('!image' => l(t('image'), 'imce', array('attributes' => array('name' => $element['#id'] . '-IMCE-image', 'class' => array('imce-inline-image')))), '!link' => l(t('link'), 'imce', array('attributes' => array('name' => $element['#id'] . '-IMCE-link', 'class' => array('imce-inline-link')))))) . '
';
+ }
+ return $element;
+}
+
+/**
+ * Returns the configuration profile assigned to a user for a specific file scheme.
+ */
+function imce_user_profile($user, $scheme = NULL) {
+ static $ups = array();
+
+ // Set scheme
+ if (empty($scheme)) {
+ $scheme = variable_get('file_default_scheme', 'public');
+ }
+
+ // Return from cache.
+ if (isset($ups[$scheme][$user->uid])) {
+ return $ups[$scheme][$user->uid];
+ }
+ $ups[$scheme][$user->uid] = FALSE;
+
+ // Check scheme
+ $swrappers = file_get_stream_wrappers();
+ if (!isset($swrappers[$scheme])) {
+ return FALSE;
+ }
+
+ $profiles = variable_get('imce_profiles', array());
+ $scinfo = array('scheme' => $scheme);
+
+ // Handle user#1 separately
+ if ($user->uid == 1) {
+ return $ups[$scheme][$user->uid] = isset($profiles[1]) ? $profiles[1] + $scinfo : FALSE;
+ }
+
+ // Handle regular users.
+ $roles_profiles = variable_get('imce_roles_profiles', array());
+ $sckey = $scheme . '_pid';
+ foreach ($roles_profiles as $rid => $conf) {
+ if (isset($user->roles[$rid]) && isset($conf[$sckey]) && isset($profiles[$conf[$sckey]])) {
+ return $ups[$scheme][$user->uid] = $profiles[$conf[$sckey]] + $scinfo;
+ }
+ }
+
+ return FALSE;
+}
+
+/**
+ * Checks if the user is assigned an imce profile.
+ * A more detailed assignment check is performed before imce loads.
+ */
+function imce_access($user = FALSE, $scheme = NULL) {
+ if ($user === FALSE) {
+ global $user;
+ }
+ return imce_user_profile($user, $scheme) ? TRUE : FALSE;
+}
+
+/**
+ * Checks access to user/{$account->uid}/imce for the $user.
+ */
+function imce_user_page_access($account, $user = FALSE) {
+ if ($user === FALSE) {
+ global $user;
+ }
+ return ($user->uid == 1 || $account->uid == $user->uid) && ($profile = imce_user_profile($account)) && $profile['usertab'];
+}
+
+/**
+ * Check if the directory name is regular.
+ */
+function imce_reg_dir($dirname) {
+ return $dirname == '.' || is_int($dirname) || (is_string($dirname) && $dirname != '' && !preg_match('@(^\s)|(^/)|(^\./)|(\s$)|(/$)|(/\.$)|(\.\.)|(//)|(\\\\)|(/\./)@', $dirname));
+}
\ No newline at end of file
diff --git a/sites/all/modules/imce/inc/imce.admin.inc b/sites/all/modules/imce/inc/imce.admin.inc
new file mode 100644
index 0000000..23529c2
--- /dev/null
+++ b/sites/all/modules/imce/inc/imce.admin.inc
@@ -0,0 +1,747 @@
+ t('Operations'), 'colspan' => 2));
+ $rows = array();
+
+ foreach ($profiles as $pid => $profile) {
+ $rows[] = array(
+ check_plain($profile['name']),
+ l(t('Edit'), 'admin/config/media/imce/profile/edit/' . $pid),
+ $pid == 1 ? '' : l(t('Delete'), 'admin/config/media/imce/profile/delete/' . $pid),
+ );
+ }
+
+ $rows[] = array('', array('data' => l(t('Add new profile'), 'admin/config/media/imce/profile'), 'colspan' => 2));
+
+ $output['title'] = array(
+ '#markup' => '' . t('Configuration profiles') . ' ',
+ );
+ $output['table'] = array(
+ '#theme' => 'table',
+ '#header' => $header,
+ '#rows' => $rows,
+ '#attributes' => array('id' => 'imce-profiles-list'),
+ );
+ $output['form'] = drupal_get_form('imce_admin_form');
+
+ // Display security warnings
+ if (empty($_POST)) {
+ $roles = variable_get('imce_roles_profiles', array());
+ if (!empty($roles[DRUPAL_ANONYMOUS_RID]['public_pid']) || !empty($roles[DRUPAL_ANONYMOUS_RID]['private_pid'])) {
+ drupal_set_message(t('Anonymous user role has access to IMCE.') . ' ' . t('Make sure this is not a misconfiguration.'), 'warning');
+ }
+ if (imce_admin_check_wildcard_upload(DRUPAL_AUTHENTICATED_RID, $roles)) {
+ drupal_set_message(t('Authenticated user role is assigned a configuration profile with unrestricted file extensions.') . ' ' . t('Make sure this is not a misconfiguration.'), 'warning');
+ }
+ }
+
+ return $output;
+}
+
+/**
+ * Admin form.
+ */
+function imce_admin_form($form, &$form_state) {
+ //roles profiles
+ $form['roles'] = array('#tree' => TRUE);
+ $roles = imce_sorted_roles();
+ $form['#weighted'] = count($roles) > 3;
+
+ foreach ($roles as $rid => $role) {
+ $core = $rid == DRUPAL_ANONYMOUS_RID || $rid == DRUPAL_AUTHENTICATED_RID;
+ $form['roles'][$rid] = imce_role_form($role, $form['#weighted'], $core);
+ }
+
+ //common settings
+ $form['common'] = array(
+ '#type' => 'fieldset',
+ '#title' => t('Common settings'),
+ '#collapsible' => TRUE,
+ '#collapsed' => TRUE,
+ );
+ $form['common']['textarea'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Enable inline image/file insertion into plain textareas'),
+ '#default_value' => variable_get('imce_settings_textarea', ''),
+ '#maxlength' => NULL,
+ '#description' => t('If you don\'t use any WYSIWYG editor, this feature will allow you to add your images or files as html code into any plain textarea . Enter comma separated textarea IDs under which you want to enable a link to IMCE. The * character is a wildcard. Hint: ID of Body fields in most node types starts with edit-body*.'),
+ );
+ $form['common']['absurls'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Absolute URLs'),
+ '#default_value' => variable_get('imce_settings_absurls', 0),
+ '#description' => t('Check if you want IMCE to return absolute file URLs.'),
+ );
+ $form['common']['replace'] = array(
+ '#type' => 'radios',
+ '#title' => t('Default behaviour for existing files during file uploads'),
+ '#default_value' => variable_get('imce_settings_replace', FILE_EXISTS_RENAME),
+ '#options' => array(
+ FILE_EXISTS_RENAME => t('Keep the existing file renaming the new one'),
+ FILE_EXISTS_ERROR => t('Keep the existing file rejecting the new one'),
+ FILE_EXISTS_REPLACE => t('Replace the existing file with the new one')
+ ),
+ );
+ $form['common']['thumb_method'] = array(
+ '#type' => 'radios',
+ '#title' => t('Default method for creating thumbnails'),
+ '#default_value' => variable_get('imce_settings_thumb_method', 'scale_and_crop'),
+ '#options' => array(
+ 'scale' => t('Scale the image with respect to the thumbnail dimensions.'),
+ 'scale_and_crop' => t('First scale then crop the image to fit the thumbnail dimensions.')
+ ),
+ );
+ $form['common']['disable_private'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Disable serving of private files'),
+ '#default_value' => variable_get('imce_settings_disable_private', 1),
+ '#description' => t('IMCE serves all files under private files directory without applying any access restrictions. This allows anonymous access to any file(/system/files/filename) unless there is a module restricting access to the files. Here you can disable this feature.'),
+ );
+ $form['common']['admin_theme'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Use admin theme for IMCE paths'),
+ '#default_value' => variable_get('imce_settings_admin_theme', FALSE),
+ '#description' => t('If you have user interface issues with the active theme you may consider switching to admin theme.'),
+ );
+
+ $form['submit'] = array('#type' => 'submit', '#value' => t('Save configuration'));
+ $form['#theme'] = 'imce_admin';
+ $form['#submit'][] = 'imce_admin_submit';
+ return $form;
+}
+
+/**
+ * Admin form themed.
+ */
+function imce_admin_theme($variables) {
+ $form = $variables['form'];
+ $profile1 = imce_user1_profile();
+ $header = array(t('User role'));
+ $rows = array(array(t('Site maintenance account')));
+ $keys = array('name');
+ //add each stream wrapper as a column
+ $swrappers = file_get_stream_wrappers(STREAM_WRAPPERS_VISIBLE);
+ foreach ($swrappers as $scheme => $info) {
+ $header[] = l($info['name'], 'imce/' . $scheme);
+ $rows[0][] = check_plain($profile1['name']);
+ $keys[] = $scheme . '_pid';
+ }
+
+ //in case we need profile weights.
+ $weight_info = '';
+ if ($form['#weighted']) {
+ $header[] = t('Weight');
+ $rows[0][] = t('n/a');
+ $keys[] = 'weight';
+ $weight_info = t('For users who have multiple roles , the weight property will determine the assigned profile. Lighter roles that are placed upper will take the precedence. So, an administrator role should be placed over other roles by having a smaller weight, ie. -10.');
+ }
+
+ foreach (element_children($form['roles']) as $rid) {
+ $cells = array();
+ foreach ($keys as $key) {
+ $cells[] = drupal_render($form['roles'][$rid][$key]);
+ }
+ $rows[] = $cells;
+ }
+
+ $output = '' . t('Role-profile assignments') . ' ';
+ $output .= theme('table', array('header' => $header, 'rows' => $rows));
+ $output .= '';
+ $output .= drupal_render($form['common']);
+ $output .= drupal_render_children($form);
+ return $output;
+}
+
+/**
+ * Validate admin form.
+ */
+function imce_admin_form_validate($form, &$form_state) {
+ $roles = $form_state['values']['roles'];
+ // Check anonymous profile. Do not allow wildcard upload.
+ if ($key = imce_admin_check_wildcard_upload(DRUPAL_ANONYMOUS_RID, $roles)) {
+ form_error($form['roles'][DRUPAL_ANONYMOUS_RID][$key], t('Anonymous user role can not have a configuration profile with unrestricted file extensions.'));
+ }
+}
+
+/**
+ * Submit admin form.
+ */
+function imce_admin_submit($form, &$form_state) {
+ $roles = $form_state['values']['roles'];
+ if (count($roles) > 3) {
+ uasort($roles, 'imce_rolesort');
+ }
+ variable_set('imce_roles_profiles', $roles);
+ variable_set('imce_settings_textarea', $form_state['values']['textarea']);
+ variable_set('imce_settings_absurls', $form_state['values']['absurls']);
+ variable_set('imce_settings_replace', $form_state['values']['replace']);
+ variable_set('imce_settings_thumb_method', $form_state['values']['thumb_method']);
+ variable_set('imce_settings_disable_private', $form_state['values']['disable_private']);
+ variable_set('imce_settings_admin_theme', $form_state['values']['admin_theme']);
+ drupal_set_message(t('Changes have been saved.'));
+}
+
+/**
+ * Add-Edit-Delete profiles.
+ */
+function imce_profile_operations($op = 'add', $pid = 0) {
+ //delete
+ if ($op == 'delete') {
+ drupal_set_title(t('Delete configuration profile'));
+ return drupal_get_form('imce_profile_delete_form', $pid);
+ }
+ //add-edit
+ if ($op === 'add' || $op === 'edit') {
+ return drupal_get_form('imce_profile_form', $pid);
+ }
+ drupal_access_denied();
+}
+
+/**
+ * Profile form.
+ */
+function imce_profile_form($form, &$form_state, $pid = 0) {
+
+ if ($pid && $profile = imce_load_profile($pid)) {
+ drupal_set_title($profile['name']);
+ }
+ else {
+ $pid = 0;
+ $profile = imce_sample_profile();
+ $profile['name'] = '';
+ }
+
+ //import profile
+ if (isset($_GET['import']) && $imported = imce_load_profile($_GET['import'])) {
+ if (empty($form_state['post'])) {
+ drupal_set_message(t('Settings were imported from the profile %name', array('%name' => $imported['name'])));
+ }
+ $imported['name'] = $profile['name']; //preserve the original name.
+ $profile = $imported;
+ }
+
+ $form_state['profile'] = $profile;//store the original profile just in case.
+
+ $form = array('#tree' => TRUE);
+ $form['name'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Profile name'),
+ '#default_value' => $profile['name'],
+ '#description' => t('Give a name to this profile.'),
+ '#required' => TRUE,
+ );
+ $form['import'] = array(
+ '#markup' => imce_profile_import_html($pid),
+ );
+ $form['usertab'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Display file browser tab in user profile pages.'),
+ '#default_value' => $profile['usertab'],
+ );
+ $form['filesize'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Maximum file size per upload'),
+ '#default_value' => $profile['filesize'],
+ '#description' => t('Set to 0 to use the maximum value available.') . ' ' . t('Your PHP settings limit the maximum file size per upload to %size.', array('%size' => format_size(file_upload_max_size()))),
+ '#field_suffix' => t('MB'),
+ );
+ $form['quota'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Directory quota'),
+ '#default_value' => $profile['quota'],
+ '#description' => t('Define the upload quota per directory.') . ' ' . t('Set to 0 to use the maximum value available.'),
+ '#field_suffix' => t('MB'),
+ );
+ $form['tuquota'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Total user quota'),
+ '#default_value' => $profile['tuquota'],
+ '#description' => t('This quota measures the size of all user uploaded files in the database and does not include FTP files. You can either use both quotations together or safely ignore this by setting the value to 0.'),
+ '#field_suffix' => t('MB'),
+ );
+ $form['extensions'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Permitted file extensions'),
+ '#default_value' => $profile['extensions'],
+ '#maxlength' => 255,
+ '#description' => t('Specify the allowed file extensions for uploaded files. Separate extensions with a space and do not include the leading dot.') . ' ' . t('Set to * to remove the restriction.'),
+ );
+ $form['dimensions'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Maximum image dimensions'),
+ '#default_value' => $profile['dimensions'],
+ '#description' => t('The maximum allowed image size (e.g. 640x480). Set to 0 for no restriction. If an image toolkit is installed, files exceeding this value will be scaled down to fit.', array('!image-toolkit-link' => url('admin/config/media/image-toolkit'))),
+ '#field_suffix' => '' . t('WIDTHxHEIGHT') . ' ',
+ );
+ $form['filenum'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Maximum number of files per operation'),
+ '#default_value' => $profile['filenum'],
+ '#description' => t('You can allow users to select multiple files for operations such as delete, resize, etc. Entire batch file operation is executed in a single drupal load, which may be good. However there will be an increase in script execution time, cpu load and memory consumption possibly exceeding the limits of your server, which is really bad. For unlimited number of file handling, set this to 0.'),
+ );
+
+ //Directories
+ $form['directories']['#theme'] = 'imce_directories';
+ $form['directories']['#weight'] = 1;
+ for ($i = 0; $i < count($profile['directories']); $i++) {
+ $form['directories'][$i] = imce_directory_form($profile['directories'][$i]);
+ }
+ $form['directories'][$i] = imce_directory_form();
+ $form['directories'][$i+1] = imce_directory_form();
+
+ //Thumbnails
+ $form['thumbnails']['#theme'] = 'imce_thumbnails';
+ $form['thumbnails']['#weight'] = 2;
+ for ($i = 0; $i < count($profile['thumbnails']); $i++) {
+ $form['thumbnails'][$i] = imce_thumbnail_form($profile['thumbnails'][$i]);
+ }
+ $form['thumbnails'][$i] = imce_thumbnail_form();
+ $form['thumbnails'][$i+1] = imce_thumbnail_form();
+
+ $form = array('profile' => $form);
+ $form['pid'] = array('#type' => 'hidden', '#value' => $pid);
+ $form['submit'] = array('#type' => 'submit', '#value' => t('Save configuration'));
+ $form['#validate'][] = 'imce_profile_validate';
+ $form['#submit'][] = 'imce_profile_submit';
+ return $form;
+}
+
+/**
+ * Profile form validate.
+ */
+function imce_profile_validate($form, &$form_state) {
+ $profile = &$form_state['values']['profile'];
+ $dim_re = '/^\d+x\d+$/';
+ $dim_error = t('Dimensions must be specified in WIDTHxHEIGHT format.');
+ // Check max image dimensions
+ if ($profile['dimensions'] && !preg_match($dim_re, $profile['dimensions'])) {
+ return form_set_error('profile][dimensions', $dim_error);
+ }
+ // Check thumbnails dimensions
+ foreach ($profile['thumbnails'] as $i => $thumb) {
+ if (trim($thumb['name']) != '' && !preg_match($dim_re, $thumb['dimensions'])) {
+ return form_set_error("profile][thumbnails][$i][dimensions", $dim_error);
+ }
+ }
+}
+
+/**
+ * Profile form submit.
+ */
+function imce_profile_submit($form, &$form_state) {
+ $profile = $form_state['values']['profile'];
+ $pid = $form_state['values']['pid'];
+ $message = $pid > 0 ? t('The changes have been saved.') : t('Profile has been added.');
+
+ //unset empty fields of directories and thumbnails.
+ imce_clean_profile_fields($profile);
+
+ //save profile.
+ $pid = imce_update_profiles($pid, $profile);
+
+ drupal_set_message($message);
+ $form_state['redirect'] = 'admin/config/media/imce/profile/edit/' . $pid;
+}
+
+/**
+ * directory settings form
+ */
+function imce_directory_form($directory = array()) {
+ if (empty($directory)) {
+ $directory = array('name' => '', 'subnav' => 0, 'browse' => 0, 'upload' => 0, 'thumb' => 0, 'delete' => 0, 'resize' => 0);
+ }
+ $form['name'] = array(
+ '#type' => 'textfield',
+ '#default_value' => $directory['name'],
+ '#size' => 24,
+ '#maxlength' => NULL,
+ );
+ $form['subnav'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Including subdirectories'),
+ '#default_value' => $directory['subnav'],
+ );
+ $form['browse'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Browse'),
+ '#default_value' => $directory['browse'],
+ );
+ $form['upload'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Upload'),
+ '#default_value' => $directory['upload'],
+ );
+ $form['thumb'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Thumbnails'),
+ '#default_value' => $directory['thumb'],
+ );
+ $form['delete'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Delete'),
+ '#default_value' => $directory['delete'],
+ );
+ $form['resize'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Resize'),
+ '#default_value' => $directory['resize'],
+ );
+ return $form;
+}
+
+/**
+ * Directorys form themed.
+ */
+function imce_directories_theme($variables) {
+ $form = $variables['form'];
+ $rows = array();
+ $root = t('root');
+
+ foreach (element_children($form) as $key) {
+ //directory path
+ $row = array('<' . $root . '>' . '/' . drupal_render($form[$key]['name']) . '
' . drupal_render($form[$key]['subnav']));
+ unset($form[$key]['name'], $form[$key]['subnav']);
+
+ //permissions
+ $header = array();
+ foreach (element_children($form[$key]) as $perm) {
+ $header[] = $form[$key][$perm]['#title'];
+ unset($form[$key][$perm]['#title']);
+ $row[] = drupal_render($form[$key][$perm]);
+ }
+
+ $rows[] = $row;
+ }
+
+ array_unshift($header, t('Directory path'));
+
+ $output = '' . t('Directories') . ' ';
+ $output .= theme('table', array('header' => $header, 'rows' => $rows));
+ $output .= '';
+ $output .= drupal_render_children($form);
+ return $output;
+}
+
+/**
+ * thumbnail settings form
+ */
+function imce_thumbnail_form($thumb = array()) {
+ if (empty($thumb)) {
+ $thumb = array('name' => '', 'dimensions' => '', 'prefix' => '', 'suffix' => '');
+ }
+ $form['name'] = array(
+ '#type' => 'textfield',
+ '#default_value' => $thumb['name'],
+ '#size' => 20,
+ );
+ $form['dimensions'] = array(
+ '#type' => 'textfield',
+ '#default_value' => $thumb['dimensions'],
+ '#size' => 20,
+ );
+ $form['prefix'] = array(
+ '#type' => 'textfield',
+ '#default_value' => $thumb['prefix'],
+ '#size' => 20,
+ );
+ $form['suffix'] = array(
+ '#type' => 'textfield',
+ '#default_value' => $thumb['suffix'],
+ '#size' => 20,
+ );
+ return $form;
+}
+
+/**
+ * Thumbnails form themed.
+ */
+function imce_thumbnails_theme($variables) {
+ $form = $variables['form'];
+ $header = array(t('Name'), t('Dimensions'), t('Prefix'), t('Suffix'));
+ $rows = array();
+
+ foreach (element_children($form) as $key) {
+ $rows[] = array(
+ drupal_render($form[$key]['name']),
+ drupal_render($form[$key]['dimensions']),
+ drupal_render($form[$key]['prefix']),
+ drupal_render($form[$key]['suffix']),
+ );
+ }
+
+ $output = '' . t('Thumbnails') . ' ';
+ $output .= theme('table', array('header' => $header, 'rows' => $rows));
+ $output .= '';
+ $output .= drupal_render_children($form);
+ return $output;
+}
+
+/**
+ * Role-profile form
+ */
+function imce_role_form($role, $weight = TRUE, $core = TRUE) {
+ $form['name'] = array(
+ '#markup' => check_plain($role['name']),
+ );
+ if ($weight) {
+ $form['weight'] = $core ? array(
+ '#type' => 'textfield',
+ '#value' => $role['weight'],
+ '#attributes' => array('readonly' => 'readonly', 'style' => 'border: none; width: 2em; background-color: transparent;'),
+ ) : array(
+ '#type' => 'weight',
+ '#default_value' => $role['weight'],
+ );
+ }
+ foreach (array_keys(file_get_stream_wrappers(STREAM_WRAPPERS_VISIBLE)) as $scheme) {
+ $form[$scheme . '_pid'] = array(
+ '#type' => 'select',
+ '#options' => imce_profile_options(),
+ '#default_value' => $role[$scheme . '_pid'],
+ '#empty_value' => 0,
+ );
+ }
+ return $form;
+}
+
+/**
+ * Profile delete form
+ */
+function imce_profile_delete_form($form, &$form_state, $pid) {
+ if ($pid > 1 && $profile = imce_load_profile($pid)) {
+ $form['#submit'][] = 'imce_profile_delete_submit';
+ $form['pid'] = array('#type' => 'hidden', '#value' => $pid);
+ return confirm_form($form,
+ t('Are you sure you want to delete the profile %name?',
+ array('%name' => $profile['name'])),
+ 'admin/config/media/imce',
+ '',
+ t('Delete'),
+ t('Cancel')
+ );
+ }
+ drupal_goto('admin/config/media/imce');
+}
+
+/**
+ * Profile delete form submit
+ */
+function imce_profile_delete_submit($form, &$form_state) {
+ imce_update_profiles($form_state['values']['pid'], NULL);
+ drupal_set_message(t('Profile has been deleted.'));
+ $form_state['redirect'] = 'admin/config/media/imce';
+}
+
+/**
+ * Profile options.
+ */
+function imce_profile_options() {
+ $options = array();
+ foreach (variable_get('imce_profiles', array()) as $pid => $profile) {
+ $options[$pid] = $profile['name'];
+ }
+ return $options;
+}
+
+/**
+ * Profile import links.
+ */
+function imce_profile_import_html($pid = 0) {
+ $output = '';
+ $links = array();
+
+ foreach (variable_get('imce_profiles', array()) as $id => $profile) {
+ if ($pid != $id) {
+ $links[] = l($profile['name'], $_GET['q'], array('query' => array('import' => $id)));
+ }
+ }
+
+ if (!empty($links)) {
+ $output = '' . t('Import settings from other profiles') . ' : ';
+ $output .= implode(', ', $links) . '
';
+ }
+
+ return $output;
+}
+
+/**
+ * Update role-profile assignments.
+ */
+function imce_update_roles($pid) {
+ $roles = variable_get('imce_roles_profiles', array());
+ foreach ($roles as $rid => $role) {
+ foreach ($role as $key => $value) {
+ if (substr($key, -4) == '_pid') {
+ if ($value == $pid) {
+ $roles[$rid][$key] = 0;
+ }
+ elseif ($value > $pid) {
+ $roles[$rid][$key]--;
+ }
+ }
+ }
+ }
+ variable_set('imce_roles_profiles', $roles);
+}
+
+/**
+ * Add, update or delete a profile.
+ */
+function imce_update_profiles($pid, $profile = NULL) {
+ $profiles = variable_get('imce_profiles', array());
+
+ //add or update
+ if (isset($profile)) {
+ $pid = isset($profiles[$pid]) ? $pid : count($profiles)+1;
+ $profiles[$pid] = $profile;
+ }
+
+ //delete
+ elseif (isset($profiles[$pid]) && $pid > 1) {
+ unset($profiles[$pid]);
+ for ($i = $pid+1; isset($profiles[$i]); $i++) {
+ $profiles[$i-1] = $profiles[$i];
+ unset($profiles[$i]);
+ }
+ imce_update_roles($pid);
+ }
+
+ variable_set('imce_profiles', $profiles);
+ return $pid;
+}
+
+/**
+ * Unset empty fields in thumbnails and directory paths.
+ */
+function imce_clean_profile_fields(&$profile) {
+ $clean = array();
+ foreach ($profile['thumbnails'] as $thumb) {
+ if (trim($thumb['name']) != '') {
+ $clean[] = $thumb;
+ }
+ }
+ $profile['thumbnails'] = $clean;
+
+ $clean = array();
+ $names = array();
+ foreach ($profile['directories'] as $dir) {
+ $dir['name'] = trim($dir['name'], '/ ');
+ if ($dir['name'] == '') {
+ continue;
+ }
+ if (isset($names[$dir['name']])) {
+ drupal_set_message(t('Duplicate directory paths are not allowed.'), 'error');
+ continue;
+ }
+ if (!imce_reg_dir($dir['name'])) {
+ drupal_set_message(t('%dirname is not accepted as a proper directory name.', array('%dirname' => $dir['name'])), 'error');
+ continue;
+ }
+ $clean[] = $dir;
+ $names[$dir['name']] = 1;
+ }
+ $profile['directories'] = $clean;
+}
+
+/**
+ * Profile load.
+ */
+function imce_load_profile($pid) {
+ $profiles = variable_get('imce_profiles', array());
+ return isset($profiles[$pid]) ? $profiles[$pid] : NULL;
+}
+
+/**
+ * Sort roles according to their weights.
+ */
+function imce_sorted_roles() {
+ static $sorted;
+ if (!isset($sorted)) {
+ $sorted = array();
+ $roles = user_roles();
+ $profiles = variable_get('imce_profiles', array());
+ $roles_profiles = variable_get('imce_roles_profiles', array());
+ $roles_profiles[DRUPAL_ANONYMOUS_RID]['weight'] = 12;
+ $roles_profiles[DRUPAL_AUTHENTICATED_RID]['weight'] = 11;
+ $schemes = array_keys(file_get_stream_wrappers(STREAM_WRAPPERS_VISIBLE));
+ foreach ($roles as $rid => $name) {
+ $sorted[$rid] = array(
+ 'name' => $name,
+ 'weight' => isset($roles_profiles[$rid]['weight']) ? $roles_profiles[$rid]['weight'] : 0
+ );
+ foreach ($schemes as $scheme) {
+ $key = $scheme . '_pid';
+ $sorted[$rid][$key] = isset($roles_profiles[$rid][$key]) && isset($profiles[$roles_profiles[$rid][$key]]) ? $roles_profiles[$rid][$key] : 0;
+ }
+ }
+ uasort($sorted, 'imce_rolesort');
+ }
+ return $sorted;
+}
+
+/**
+ * Sorting function for roles.
+ */
+function imce_rolesort($r1, $r2) {
+ return $r1['weight']-$r2['weight'];
+}
+
+/**
+ * Checks if the given role can upload all extensions.
+ */
+function imce_admin_check_wildcard_upload($rid, $conf = NULL) {
+ if (!isset($conf)) {
+ $conf = variable_get('imce_roles_profiles', array());
+ }
+ if (!empty($conf[$rid])) {
+ foreach ($conf[$rid] as $key => $pid) {
+ if ($pid && substr($key, -4) == '_pid') {
+ if ($profile = imce_load_profile($pid)) {
+ if ($profile['extensions'] === '*' && !empty($profile['directories'])) {
+ foreach ($profile['directories'] as $dirconf) {
+ if (!empty($dirconf['upload'])) {
+ return $key;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return FALSE;
+}
+
+//Include core profile functions.
+include_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'imce') . '/inc/imce.core.profiles.inc';
\ No newline at end of file
diff --git a/sites/all/modules/imce/inc/imce.core.profiles.inc b/sites/all/modules/imce/inc/imce.core.profiles.inc
new file mode 100644
index 0000000..7495773
--- /dev/null
+++ b/sites/all/modules/imce/inc/imce.core.profiles.inc
@@ -0,0 +1,56 @@
+ $n, 'usertab' => $u, 'filesize' => $f, 'quota' => $q, 'tuquota' => $tq, 'extensions' => $e, 'dimensions' => $d, 'filenum' => $fn, 'directories' => array(), 'thumbnails' => array());
+ foreach ($ds as $d) {
+ $profile['directories'][] = array('name' => $d[0], 'subnav' => $d[1], 'browse' => $d[2], 'upload' => $d[3], 'thumb' => $d[4], 'delete' => $d[5], 'resize' => $d[6]);
+ }
+ foreach ($ts as $t) {
+ $profile['thumbnails'][] = array('name' => $t[0], 'dimensions' => $t[1], 'prefix' => $t[2], 'suffix' => $t[3]);
+ }
+ return $profile;
+}
+
+/**
+ * User1's profile.
+ */
+function imce_user1_profile() {
+ $profiles = variable_get('imce_profiles', array());
+ if (isset($profiles[1])) {
+ return $profiles[1];
+ }
+ return imce_construct_profile('User-1', 1, 0, 0, 0, '*', '1200x1200', 0, array(array('.', 1, 1, 1, 1, 1, 1)), array(array('Small', '90x90', 'small_', ''), array('Medium', '120x120', 'medium_', ''), array('Large', '180x180', 'large_', '')));
+}
+
+/**
+ * Default profile.
+ */
+function imce_sample_profile() {
+ return imce_construct_profile('Sample profile', 1, 1, 2, 0, 'gif png jpg jpeg', '800x600', 1, array(array('u%uid', 0, 1, 1, 1, 0, 0)), array(array('Thumb', '90x90', 'thumb_', '')));
+}
diff --git a/sites/all/modules/imce/inc/imce.js.inc b/sites/all/modules/imce/inc/imce.js.inc
new file mode 100644
index 0000000..7e500c5
--- /dev/null
+++ b/sites/all/modules/imce/inc/imce.js.inc
@@ -0,0 +1,67 @@
+ theme('imce_file_list', array('imce_ref' => array('imce' => &$imce))),
+ 'dirsize' => format_size($imce['dirsize']),
+ 'subdirectories' => array_map('rawurlencode', array_values($imce['subdirectories'])),
+ 'perm' => $imce['perm']
+ );
+}
+
+/**
+ * Ajax operation: upload
+ */
+function imce_js_upload(&$imce) {
+ if ($imce['perm']['upload']) {
+ $_POST['op'] = t('Upload');
+ drupal_get_form('imce_upload_form', array('imce' => &$imce));
+ return array('added' => isset($imce['added']) ? $imce['added'] : NULL, 'dirsize' => format_size($imce['dirsize']));
+ }
+}
+
+/**
+ * Ajax operation: thumbnails
+ */
+function imce_js_thumb(&$imce) {
+ if ($imce['perm']['thumb']) {
+ $_POST['op'] = t('Create thumbnails');
+ return imce_process_fileop($imce);
+ }
+}
+
+/**
+ * Ajax operation: delete
+ */
+function imce_js_delete(&$imce) {
+ if ($imce['perm']['delete']) {
+ $_POST['op'] = t('Delete');
+ return imce_process_fileop($imce);
+ }
+}
+
+/**
+ * Ajax operation: resize
+ */
+function imce_js_resize(&$imce) {
+ if ($imce['perm']['resize']) {
+ $_POST['op'] = t('Resize');
+ return imce_process_fileop($imce);
+ }
+}
+
+/**
+ * Process file operations form
+ */
+function imce_process_fileop(&$imce) {
+ drupal_get_form('imce_fileop_form', array('imce' => &$imce));
+ return array('added' => isset($imce['added']) ? $imce['added'] : NULL, 'removed' => isset($imce['removed']) ? $imce['removed'] : NULL, 'dirsize' => format_size($imce['dirsize']));
+}
\ No newline at end of file
diff --git a/sites/all/modules/imce/inc/imce.page.inc b/sites/all/modules/imce/inc/imce.page.inc
new file mode 100644
index 0000000..32e267c
--- /dev/null
+++ b/sites/all/modules/imce/inc/imce.page.inc
@@ -0,0 +1,1129 @@
+ $account));
+}
+
+/**
+ * Returns the imce page for the specified user and the file scheme.
+ */
+function imce_page($user, $scheme = NULL, $jsop = NULL) {
+ return theme('imce_page', array('content' => imce_content($user, $scheme, $jsop)));
+}
+
+/**
+ * Returns the content of the file browser.
+ */
+function imce_content($user, $scheme = NULL, $jsop = NULL) {
+
+ //execute ajax calls.
+ if ($jsop) {
+ return imce_js($user, $scheme, $jsop);
+ }
+
+ //initiate configuration profile
+ if (!$imce = imce_initiate_profile($user, $scheme)) {
+ return '';
+ }
+ imce_process_profile($imce);//get active directory content
+
+ //Before creating the content let's add main files required for imce to function properly.
+ $path = drupal_get_path('module', 'imce');
+ drupal_add_js($path . '/js/jquery.form.js');
+ drupal_add_js($path . '/js/imce.js');
+ drupal_add_js($path . '/js/imce_extras.js');
+ drupal_add_css($path . '/css/imce-content.css');
+
+ //process forms.
+ $imce_ref = array('imce' => &$imce);
+ $forms = array();
+ if (!$imce['error']) {
+ //process file upload.
+ if (imce_perm_exists($imce, 'upload')) {
+ $forms[] = drupal_get_form('imce_upload_form', $imce_ref);
+ }
+ //process file operations.
+ $forms[] = drupal_get_form('imce_fileop_form', $imce_ref);
+ }
+ $forms = drupal_render($forms);
+
+ //run custom content functions. possible to insert extra forms. content is invisible when js is enabled.
+ foreach (variable_get('imce_custom_content', array()) as $func => $state) {
+ if ($state && function_exists($func) && $output = $func($imce)) {
+ $forms .= $output;
+ }
+ }
+
+ $content = theme('imce_content', array(
+ 'tree' => imce_create_tree($imce),
+ 'forms' => $forms,
+ 'imce_ref' => $imce_ref,
+ ));
+
+ //make necessary changes for js conversion
+ $imce['dir'] = str_replace('%2F', '/', rawurlencode($imce['dir']));
+ unset($imce['files'], $imce['name'], $imce['directories'], $imce['subdirectories'], $imce['filesize'], $imce['quota'], $imce['tuquota'], $imce['thumbnails'], $imce['uid'], $imce['usertab']);
+
+ drupal_add_js($imce_ref, 'setting');
+
+ return $content;
+}
+
+/**
+ * Ajax operations. q=imce&jsop={op}
+ */
+function imce_js($user, $scheme, $jsop = '') {
+ $response = array();
+
+ //data
+ if ($imce = imce_initiate_profile($user, $scheme)) {
+ imce_process_profile($imce);
+ if (!$imce['error']) {
+ module_load_include('inc', 'imce', 'inc/imce.js');
+ if (function_exists($func = 'imce_js_' . $jsop)) {
+ $response['data'] = $func($imce);
+ }
+ // Allow alteration of response.
+ foreach (variable_get('imce_custom_response', array()) as $func => $state) {
+ if ($state && function_exists($func)) {
+ $func($jsop, $response, $imce, $user);
+ }
+ }
+ }
+ }
+ //messages
+ $response['messages'] = drupal_get_messages();
+
+ //disable devel log.
+ $GLOBALS['devel_shutdown'] = FALSE;
+ //for upload we must return plain text header.
+ drupal_add_http_header('Content-Type', (!empty($_POST['html_response']) ? 'text/html' : 'application/json') . '; charset=utf-8');
+ print drupal_json_encode($response);
+ exit();
+}
+
+/**
+ * Upload form.
+ */
+function imce_upload_form($form, &$form_state, $ref) {
+ $imce =& $ref['imce'];
+ $form['imce'] = array(
+ '#type' => 'file',
+ '#title' => t('File'),
+ '#size' => 30,
+ );
+ if (!empty($imce['thumbnails'])) {
+ $form['thumbnails'] = array(
+ '#type' => 'checkboxes',
+ '#title' => t('Create thumbnails'),
+ '#options' => imce_thumbnail_options($imce['thumbnails']),
+ );
+ }
+ $form['upload'] = array(
+ '#type' => 'submit',
+ '#value' => t('Upload'),
+ '#submit' => $imce['perm']['upload'] ? array('imce_upload_submit') : NULL,
+ );
+ $form = array('fset_upload' => array('#type' => 'fieldset', '#title' => t('Upload file')) + $form);
+ $form['html_response'] = array('#type' => 'hidden', '#default_value' => '1');
+ $form['#attributes']['enctype'] = 'multipart/form-data';
+ $form['#action'] = $imce['url'];
+ return $form;
+}
+
+/**
+ * File operations form.
+ */
+function imce_fileop_form($form, &$form_state, $ref) {
+ $imce =& $ref['imce'];
+ $form['filenames'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Selected files'),
+ '#maxlength' => $imce['filenum'] ? $imce['filenum']*255 : NULL,
+ );
+
+ //thumbnail
+ if (!empty($imce['thumbnails']) && imce_perm_exists($imce, 'thumb')) {
+ $form['fset_thumb'] = array(
+ '#type' => 'fieldset',
+ '#title' => t('Thumbnails'),
+ ) + imce_thumb_form($imce);
+ }
+
+ //delete
+ if (imce_perm_exists($imce, 'delete')) {
+ $form['fset_delete'] = array(
+ '#type' => 'fieldset',
+ '#title' => t('Delete'),
+ ) + imce_delete_form($imce);
+ }
+
+ //resize
+ if (imce_perm_exists($imce, 'resize')) {
+ $form['fset_resize'] = array(
+ '#type' => 'fieldset',
+ '#title' => t('Resize'),
+ ) + imce_resize_form($imce);
+ }
+
+ $form['#action'] = $imce['url'];
+ return $form;
+}
+
+/**
+ * Thumbnail form.
+ */
+function imce_thumb_form(&$imce) {
+ $form['thumbnails'] = array(
+ '#type' => 'checkboxes',
+ '#title' => t('Thumbnails'),
+ '#options' => imce_thumbnail_options($imce['thumbnails']),
+ );
+ $form['thumb'] = array(
+ '#type' => 'submit',
+ '#value' => t('Create thumbnails'),
+ '#submit' => $imce['perm']['thumb'] ? array('imce_thumb_submit') : NULL,
+ );
+ return $form;
+}
+
+/**
+ * Delete form.
+ */
+function imce_delete_form(&$imce) {
+ $form['delete'] = array(
+ '#type' => 'submit',
+ '#value' => t('Delete'),
+ '#submit' => $imce['perm']['delete'] ? array('imce_delete_submit') : NULL,
+ );
+ return $form;
+}
+
+/**
+ * Resizing form.
+ */
+function imce_resize_form(&$imce) {
+ $form['width'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Width x Height'),
+ '#size' => 5,
+ '#maxlength' => 4,
+ '#prefix' => '',
+ );
+ $form['height'] = array(
+ '#type' => 'textfield',
+ '#size' => 5,
+ '#maxlength' => 4,
+ '#prefix' => 'x',
+ );
+ $form['resize'] = array(
+ '#type' => 'submit',
+ '#value' => t('Resize'),
+ '#submit' => $imce['perm']['resize'] ? array('imce_resize_submit') : NULL,//permission for submission
+ '#suffix' => '
',
+ );
+ $form['copy'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Create a new image'),
+ '#default_value' => 1,
+ );
+ return $form;
+}
+
+/**
+ * Validate file operations form.
+ */
+function imce_fileop_form_validate($form, &$form_state) {
+ $imce =& $form_state['build_info']['args'][0]['imce'];
+
+ //check if the filenames is empty
+ if ($form_state['values']['filenames'] == '') {
+ return form_error($form['filenames'], t('Please select a file.'));
+ }
+
+ //filenames come separated by colon
+ $filenames = explode(':', $form_state['values']['filenames']);
+ $cnt = count($filenames);
+ //check the number of files.
+ if ($imce['filenum'] && $cnt > $imce['filenum']) {
+ return form_error($form['filenames'], t('You are not allowed to operate on more than %num files.', array('%num' => $imce['filenum'])));
+ }
+
+ //check if there is any illegal choice
+ for ($i = 0; $i < $cnt; $i++) {
+ $filenames[$i] = $filename = rawurldecode($filenames[$i]);
+ if (!isset($imce['files'][$filename])) {
+ watchdog('imce', 'Illegal choice %choice in !name element.', array('%choice' => $filename, '!name' => t('directory (%dir)', array('%dir' => imce_dir_uri($imce)))), WATCHDOG_ERROR);
+ return form_error($form['filenames'], t('An illegal choice has been detected. Please contact the site administrator.'));
+ }
+ }
+
+ $form_state['values']['filenames'] = $filenames;
+}
+
+/**
+ * Submit upload form.
+ */
+function imce_upload_submit($form, &$form_state) {
+ $form_state['redirect'] = FALSE;
+ $imce =& $form_state['build_info']['args'][0]['imce'];
+ // Need to provide extension validatior, otherwise file_save_upload uses the default.
+ $validators['file_validate_extensions'] = array($imce['extensions'] === '*' ? NULL : $imce['extensions']);
+ $validators['imce_validate_all'] = array(&$imce);
+ $diruri = imce_dir_uri($imce);
+
+ //save uploaded file.
+ $replace = variable_get('imce_settings_replace', FILE_EXISTS_RENAME);
+ if ($file = file_save_upload('imce', $validators, $diruri, $replace)) {
+
+ //core bug #54223.
+ if ($replace == FILE_EXISTS_RENAME) {
+ $name = drupal_basename($file->uri);
+ if ($name != $file->filename) {
+ $file->filename = $name;
+ drupal_set_message(t('The file has been renamed to %filename.', array('%filename' => $file->filename)));
+ }
+ }
+
+ $file->uid = $imce['uid'];//global user may not be the owner.
+ $file->status = FILE_STATUS_PERMANENT;
+ file_save($file);
+ imce_file_register($file);
+ drupal_set_message(t('%filename has been uploaded.', array('%filename' => $file->filename)));
+
+ //update file list
+ $img = imce_image_info($file->uri);
+ $file->width = $img ? $img['width'] : 0;
+ $file->height = $img ? $img['height'] : 0;
+ imce_add_file($file, $imce);
+
+ //create thumbnails
+ if (isset($form_state['values']['thumbnails']) && $img) {
+ imce_create_thumbnails($file->filename, $imce, $form_state['values']['thumbnails']);
+ }
+ }
+ else {
+ drupal_set_message(t('Upload failed.'), 'error');
+ }
+}
+
+/**
+ * Submit thumbnail form.
+ */
+function imce_thumb_submit($form, &$form_state) {
+ $form_state['redirect'] = FALSE;
+ $imce =& $form_state['build_info']['args'][0]['imce'];
+ //create thumbnails
+ imce_process_files($form_state['values']['filenames'], $imce, 'imce_create_thumbnails', array($form_state['values']['thumbnails']));
+}
+
+/**
+ * Submit delete form.
+ */
+function imce_delete_submit($form, &$form_state) {
+ $form_state['redirect'] = FALSE;
+ $imce =& $form_state['build_info']['args'][0]['imce'];
+
+ $deleted = imce_process_files($form_state['values']['filenames'], $imce, 'imce_delete_file');
+
+ if (!empty($deleted)) {
+ drupal_set_message(t('File deletion successful: %files.', array('%files' => utf8_encode(implode(', ', $deleted)))));
+ }
+
+}
+
+/**
+ * Submit resize form.
+ */
+function imce_resize_submit($form, &$form_state) {
+ $form_state['redirect'] = FALSE;
+ $imce =& $form_state['build_info']['args'][0]['imce'];
+
+ //check dimensions
+ $width = (int) $form_state['values']['width'];
+ $height = (int) $form_state['values']['height'];
+ list($maxw, $maxh) = $imce['dimensions'] ? explode('x', $imce['dimensions']) : array(0, 0);
+ if ($width < 1 || $height < 1 || ($maxw && ($width > $maxw || $height > $maxh))) {
+ drupal_set_message(t('Please specify dimensions within the allowed range that is from 1x1 to @dimensions.', array('@dimensions' => $imce['dimensions'] ? $imce['dimensions'] : t('unlimited'))), 'error');
+ return;
+ }
+
+ $resized = imce_process_files($form_state['values']['filenames'], $imce, 'imce_resize_image', array($width, $height, $form_state['values']['copy']));
+
+ if (!empty($resized)) {
+ drupal_set_message(t('File resizing successful: %files.', array('%files' => utf8_encode(implode(', ', $resized)))));
+ }
+
+}
+
+/**
+ * Do batch operations on files.
+ * Used by delete, resize, create thumbnail submissions.
+ */
+function imce_process_files($filenames, &$imce, $function, $args = array()) {
+ $args = array_merge(array('', &$imce), $args);
+ $processed = array();
+
+ foreach ($filenames as $filename) {
+ $args[0] = $filename;
+ if (call_user_func_array($function, $args)) {
+ $processed[] = $filename;
+ }
+ }
+
+ return $processed;
+}
+
+/**
+ * Deletes a file in the file list.
+ */
+function imce_delete_file($filename, &$imce) {
+ $uri = imce_dir_uri($imce) . $filename;
+ if (!imce_delete_filepath($uri)) {
+ return FALSE;
+ }
+ imce_remove_file($filename, $imce);
+ return TRUE;
+}
+
+/**
+ * Deletes a file by uri.
+ */
+function imce_delete_filepath($uri) {
+ $file = file_load_multiple(array(), array('uri' => $uri));
+ $file = reset($file);
+
+ // File exists in database
+ if ($file) {
+ $usage = file_usage_list($file);
+ $is_imce = isset($usage['imce']);
+ unset($usage['imce']);
+ // File is in use by an other module.
+ if (!empty($usage)) {
+ drupal_set_message(t('%filename is in use by another application.', array('%filename' => $file->filename)), 'error');
+ return FALSE;
+ }
+ // Force delete file. Prevent running file_usage_list() second time.
+ if (!file_delete($file, TRUE)) {
+ return FALSE;
+ }
+ }
+ // Not in db. Probably loaded via ftp.
+ elseif (!file_unmanaged_delete($uri)) {
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+/**
+ * Create all selected thumbnails.
+ */
+function imce_create_thumbnails($filename, &$imce, $values) {
+ $created = array();
+ foreach ($imce['thumbnails'] as $thumbnail) {
+ if ($values[$thumbnail['name']] && imce_create_thumbnail($filename, $imce, $thumbnail)) {
+ $created[] = $thumbnail['name'];
+ }
+ }
+ if (!empty($created)) {
+ drupal_set_message(t('Thumbnail creation (%thumbnames) successful for %filename.', array('%thumbnames' => implode(', ', $created), '%filename' => utf8_encode($filename))));
+ }
+ return $created;
+}
+
+/**
+ * Create a thumbnail.
+ */
+function imce_create_thumbnail($filename, &$imce, $thumbnail) {
+ //generate thumbnail name
+ $name = $thumbnail['prefix'];
+ if ($thumbnail['suffix'] != '' && $dot = strrpos($filename, '.')) {
+ $name .= substr($filename, 0, $dot);
+ $name .= $thumbnail['suffix'];
+ $name .= substr($filename, $dot);
+ }
+ else {
+ $name .= $filename;
+ }
+ //scale the image
+ list($width, $height) = explode('x', $thumbnail['dimensions']);
+ return imce_resize_image($filename, $imce, $width, $height, TRUE, $name, variable_get('imce_settings_thumb_method', 'scale_and_crop'));
+}
+
+/**
+ * Resize an image in the file list. Also used for thumbnail creation.
+ */
+function imce_resize_image($filename, &$imce, $width, $height, $copy = TRUE, $destname = FALSE, $op = 'resize') {
+ $destdir = imce_dir_uri($imce);
+ $imguri = $destdir . $filename;
+
+ //check if the file is an image
+ if (!$imce['files'][$filename]['width'] || !$img = imce_image_info($imguri)) {
+ drupal_set_message(t('%filename is not an image.', array('%filename' => utf8_encode($filename))), 'error', FALSE);
+ return FALSE;
+ }
+
+ if (substr($op, 0, 5) == 'scale' && !($width < $img['width'] || $height < $img['height'])) {
+ drupal_set_message(t('Scaling up is not allowed.'), 'error', FALSE);
+ return FALSE;
+ }
+
+ //create file object
+ $file = new stdClass();
+ $file->uri = $destdir . $destname;
+ if (!$destname || $destname == $filename) {
+ $file->uri = $copy ? file_create_filename($filename, $destdir) : $imguri;
+ }
+ $file->filename = drupal_basename($file->uri);
+
+ //check if a file having the same properties exists already.
+ if (isset($imce['files'][$file->filename])) {
+ if (($f = $imce['files'][$file->filename]) && $f['width'] == $width && $f['height'] == $height) {
+ drupal_set_message(t('%filename(%dimensions) already exists.', array('%filename' => utf8_encode($file->filename), '%dimensions' => $width . 'x' . $height)), 'error');
+ return FALSE;
+ }
+ }
+
+ //validate file name
+ $errors = file_validate_name_length($file);
+ if (!empty($errors)) {
+ drupal_set_message($errors[0], 'error');
+ return FALSE;
+ }
+
+ //resize image
+ $image = image_load($imguri);
+ $function = 'image_' . $op;
+ if (!$image || !function_exists($function) || !$function($image, $width, $height)) {
+ drupal_set_message(t('%filename cannot be resized to %dimensions', array('%filename' => utf8_encode($filename), '%dimensions' => $width . 'x' . $height)), 'error', FALSE);
+ return FALSE;
+ }
+
+ //copy to a temp file
+ if (!$tempuri = drupal_tempnam('temporary://', 'imce')) {
+ return FALSE;
+ }
+ register_shutdown_function('file_unmanaged_delete', $tempuri);
+ if (!image_save($image, $tempuri) || !$image->info) {
+ return FALSE;
+ }
+
+ //validate quota
+ $file->filesize = $image->info['file_size'];
+ $quotadiff = $file->filename == $filename ? -$imce['files'][$filename]['size'] : 0;
+ if (!imce_validate_quotas($file, $imce, $quotadiff)) {
+ return FALSE;
+ }
+
+ //build the rest of the file object
+ $file->uid = $imce['uid'];
+ $file->filemime = $img['mime'];
+ $file->status = FILE_STATUS_PERMANENT;
+ $file->timestamp = REQUEST_TIME;
+
+ //copy from temp to file uri
+ $destination = $file->uri;
+ $file->uri = $tempuri;
+ if (!$file = file_copy($file, $destination, FILE_EXISTS_REPLACE)) {
+ return FALSE;
+ }
+ imce_file_register($file);
+
+ //update file list
+ //if the file was scaled get the new dimensions
+ if ($op == 'scale') {
+ $img = imce_image_info($file->uri);
+ $width = $img['width'];
+ $height = $img['height'];
+ }
+ $file->width = $width;
+ $file->height = $height;
+ imce_add_file($file, $imce);
+
+ return $file;
+}
+
+/**
+ * Add a new file to the file list.
+ */
+function imce_add_file($file, &$imce) {
+ $imce['dirsize'] += $file->filesize;
+ if (isset($imce['files'][$file->filename])) {
+ $imce['dirsize'] -= $imce['files'][$file->filename]['size'];
+ }
+ $imce['files'][$file->filename] = array(
+ 'name' => $file->filename,
+ 'size' => $file->filesize,
+ 'width' => $file->width,
+ 'height' => $file->height,
+ 'date' => $file->timestamp
+ );
+ if (isset($_GET['jsop'])) {
+ $add = $imce['files'][$file->filename];
+ $add['name'] = rawurlencode($file->filename);
+ $add['fsize'] = format_size($file->filesize);
+ $add['fdate'] = format_date($file->timestamp, 'short');
+ $add['id'] = $file->fid;
+ $imce['added'][] = $add;
+ }
+}
+
+/**
+ * Remove a file from the file list.
+ */
+function imce_remove_file($filename, &$imce) {
+ if (isset($imce['files'][$filename])) {
+ $imce['dirsize'] -= $imce['files'][$filename]['size'];
+ unset($imce['files'][$filename]);
+ if (isset($_GET['jsop'])) {
+ $imce['removed'][] = rawurlencode($filename);
+ }
+ }
+}
+
+/**
+ * Validate uploaded file.
+ */
+function imce_validate_all($file, $imce) {
+
+ //validate image resolution only if filesize validation passes.
+ //because user might have uploaded a very big image
+ //and scaling it may exploit system memory.
+ $errors = imce_validate_filesize($file, $imce['filesize']);
+ //image resolution validation
+ if (empty($errors) && preg_match('/\.(png|gif|jpe?g)$/i', $file->filename)) {
+ $errors = array_merge($errors, file_validate_image_resolution($file, $imce['dimensions']));
+ }
+ //directory quota validation
+ if ($imce['quota']) {
+ $errors = array_merge($errors, imce_validate_quota($file, $imce['quota'], $imce['dirsize']));
+ }
+ //user quota validation. check it if no errors were thrown.
+ if (empty($errors) && $imce['tuquota']) {
+ $errors = imce_validate_tuquota($file, $imce['tuquota'], file_space_used($imce['uid']));
+ }
+ return $errors;
+}
+
+/**
+ * Validate filesize for maximum allowed file size.
+ */
+function imce_validate_filesize($file, $maxsize = 0) {
+ $errors = array();
+ if ($maxsize && $file->filesize > $maxsize) {
+ $errors[] = t('The file is %filesize exceeding the maximum file size of %maxsize.', array('%filesize' => format_size($file->filesize), '%maxsize' => format_size($maxsize)));
+ }
+ return $errors;
+}
+
+/**
+ * Validate filesize for directory quota.
+ */
+function imce_validate_quota($file, $quota = 0, $currentsize = 0) {
+ $errors = array();
+ if ($quota && ($currentsize + $file->filesize) > $quota) {
+ $errors[] = t('%filename is %filesize which would exceed your directory quota. You are currently using %size of %total_quota.', array('%size' => format_size($currentsize), '%total_quota' => format_size($quota), '%filesize' => format_size($file->filesize), '%filename' => utf8_encode($file->filename)));
+ }
+ return $errors;
+}
+
+/**
+ * Validate filesize for total user quota.
+ */
+function imce_validate_tuquota($file, $quota = 0, $currentsize = 0) {
+ $errors = array();
+ if ($quota && ($currentsize + $file->filesize) > $quota) {
+ $errors[] = t('%filename is %filesize which would exceed your total user quota. You are currently using %size of %total_quota.', array('%size' => format_size($currentsize), '%total_quota' => format_size($quota), '%filesize' => format_size($file->filesize), '%filename' => utf8_encode($file->filename)));
+ }
+ return $errors;
+}
+
+/**
+ * Validate both directory and total user quota. Returns true/false not errors.
+ */
+function imce_validate_quotas($file, &$imce, $add = 0) {
+ $errors = imce_validate_quota($file, $imce['quota'], $imce['dirsize'] + $add);
+ if (empty($errors) && $imce['tuquota']) {
+ $errors = imce_validate_tuquota($file, $imce['tuquota'], file_space_used($imce['uid']) + $add);
+ }
+ if (!empty($errors)) {
+ drupal_set_message($errors[0], 'error');
+ return FALSE;
+ }
+ return TRUE;
+}
+
+/**
+ * Checks if the file is an image and returns info.
+ * There are two switchable versions that use image_get_info() and getimagesize()
+ */
+if (variable_get('imce_image_get_info', 0)) {
+ function imce_image_info($file) {
+ $mimes = array('image/jpeg' => IMAGETYPE_JPEG, 'image/gif' => IMAGETYPE_GIF, 'image/png' => IMAGETYPE_PNG);
+ if (is_file($file) && ($dot = strrpos($file, '.')) && in_array(strtolower(substr($file, $dot+1)), array('jpg', 'jpeg', 'gif', 'png')) && ($info = @image_get_info($file)) && isset($mimes[$info['mime_type']]) ) {
+ return array('width' => $info['width'], 'height' => $info['height'], 'type' => $mimes[$info['mime_type']], 'mime' => $info['mime_type']);
+ }
+ return FALSE;
+ }
+}
+else {
+ function imce_image_info($file) {
+ if (is_file($file) && ($dot = strrpos($file, '.')) && in_array(strtolower(substr($file, $dot+1)), array('jpg', 'jpeg', 'gif', 'png')) && ($info = @getimagesize($file)) && in_array($info[2], array(IMAGETYPE_JPEG, IMAGETYPE_GIF, IMAGETYPE_PNG)) ) {
+ return array('width' => $info[0], 'height' => $info[1], 'type' => $info[2], 'mime' => $info['mime']);
+ }
+ return FALSE;
+ }
+}
+
+/**
+ * Return thumbnails as options to be used in upload form.
+ */
+function imce_thumbnail_options($thumbs = array()) {
+ $options = array();
+ foreach ($thumbs as $thumb) {
+ $options[$thumb['name']] = $thumb['name'] . ' (' . $thumb['dimensions'] . ')';
+ }
+ return $options;
+}
+
+/**
+ * Initiate and return configuration profile for the $user.
+ */
+function imce_initiate_profile($user, $scheme = NULL) {
+
+ //check user profile and translate tokens in directory paths and evaluate php paths.
+ if ($imce = imce_user_profile($user, $scheme)) {
+ // Allow alteration of raw profile
+ foreach (variable_get('imce_custom_init', array()) as $func => $state) {
+ if ($state && function_exists($func)) {
+ $func($imce, $user);
+ }
+ }
+ imce_process_directories($imce, $user);
+ if (!empty($imce['directories'])) {
+ $imce['uid'] = (int) $user->uid;
+ $imce['url'] = url($_GET['q']);
+ $imce['clean'] = variable_get('clean_url', 0) == 1;
+ $imce['absurls'] = variable_get('imce_settings_absurls', 0) == 1;
+ $imce['furl'] = file_create_url($imce['scheme'] . '://');
+ $imce['filesize'] *= 1048576;//convert from Mb to byte
+ $imce['quota'] *= 1048576;
+ $imce['tuquota'] *= 1048576;
+ $imce['filenum'] = (int) $imce['filenum'];
+ //check and set the active directory
+ if ($info = imce_working_directory($imce)) {
+ $imce['direct'] = isset($imce['directories'][$info['name']]);
+ $imce['directories'][$info['name']] = $info;
+ $imce['dir'] = $info['name'];
+ $imce['perm'] = $info;//copy permissions of the active directory.
+ unset($imce['perm']['name']);
+ }
+ else {
+ drupal_set_message(t('Unable to get a working directory for the file browser!'), 'error');
+ $imce['dir'] = FALSE;
+ $imce['error'] = TRUE;
+ }
+ return $imce;
+ }
+ drupal_set_message(t('There is no valid directory specified for the file browser!'), 'error');
+ }
+ else {
+ drupal_set_message(t('You do not have access to any configuration profile to use the file browser!'), 'error');
+ }
+
+ return FALSE;
+}
+
+/**
+ * Get files and folders of the actve directory. Do custom processing.
+ */
+function imce_process_profile(&$imce) {
+ //get directory content. do a custom scan if it is set
+ $scan = ($scan = variable_get('imce_custom_scan', '')) && function_exists($scan) ? $scan : 'imce_scan_directory';
+ $imce += $scan($imce['dir'], $imce);
+
+ //run custom process functions
+ foreach (variable_get('imce_custom_process', array()) as $func => $state) {
+ if ($state && function_exists($func)) {
+ $func($imce);
+ }
+ }
+
+ //set subdirectories
+ if (!$imce['error'] && !imce_subdirectories_accessible($imce)) {
+ $imce['subdirectories'] = array();
+ }
+}
+
+/**
+ * Translate tokens and evaluate php in directory names.
+ * Convert directories into an associative array (dirname => info)
+ */
+function imce_process_directories(&$imce, $user) {
+ $directories = $imce['directories'];
+ $paths = array();
+ $translate = array('%uid' => $user->uid);
+
+ foreach ($directories as $directory) {
+ if (substr($directory['name'], 0, 4) == 'php:') {
+ $directory['name'] = eval(substr($directory['name'], 4));
+ //php may return an array of directories
+ if (is_array($directory['name'])) {
+ foreach ($directory['name'] as $name) {
+ $paths[$name] = array('name' => $name) + $directory;
+ }
+ continue;
+ }
+ }
+ else {
+ $directory['name'] = strtr($directory['name'], $translate);
+ }
+ if ($directory['name']) {
+ $paths[$directory['name']] = $directory;
+ }
+ }
+
+ $imce['directories'] = $paths;
+}
+
+/**
+ * Return an available directory for the profile.
+ */
+function imce_working_directory(&$imce) {
+ //Do not use session if there is only one directory assigned.
+ $sess = TRUE;
+ if (count($imce['directories']) < 2) {
+ $perms = reset($imce['directories']);
+ if (!isset($perms['subnav']) || !$perms['subnav']) {
+ $sess = FALSE;
+ }
+ }
+ //check GET.
+ if (isset($_GET['dir'])) {
+ if ($info = imce_directory_info($_GET['dir'], $imce)) {
+ if (imce_check_directory($_GET['dir'], $imce)) {
+ if ($sess) {
+ $_SESSION['imce_directory'] = rawurlencode($info['name']);
+ }
+ }
+ else {
+ $info = FALSE;
+ }
+ }
+ else {
+ imce_inaccessible_directory($_GET['dir'], $imce);
+ }
+ return $info;
+ }
+
+ //check session
+ if ($sess && isset($_SESSION['imce_directory'])) {
+ $dirname = rawurldecode($_SESSION['imce_directory']);
+ if ($info = imce_directory_info($dirname, $imce)) {
+ if (imce_check_directory($dirname, $imce)) {
+ return $info;
+ }
+ }
+ }
+
+ //or the whole list.
+ foreach ($imce['directories'] as $dirname => $info) {
+ $dirname = (string) $dirname;
+ if (imce_check_directory($dirname, $imce)) {
+ if ($sess) {
+ $_SESSION['imce_directory'] = rawurlencode($dirname);
+ }
+ return $info;
+ }
+ }
+
+ return FALSE;
+}
+
+/**
+ * Create a writable directory(any level) under file system directory.
+ */
+function imce_check_directory($dirname, $imce) {
+ $diruri = imce_dir_uri($imce, $dirname);
+
+ if (!imce_reg_dir($dirname) || !file_prepare_directory($diruri, FILE_CREATE_DIRECTORY)) {
+ return imce_inaccessible_directory($dirname, $imce);
+ }
+
+ return TRUE;
+}
+
+/**
+ * Generate and log a directory access error.
+ */
+function imce_inaccessible_directory($dirname, $imce) {
+ if (is_string($dirname)) {
+ $dirname = utf8_encode($dirname);
+ $diruri = imce_dir_uri($imce, $dirname);
+ drupal_set_message(t('Directory %dirname is not accessible.', array('%dirname' => $dirname)), 'error');
+ watchdog('imce', 'Access to %directory was denied.', array('%directory' => $diruri), WATCHDOG_ERROR);
+ }
+ return FALSE;
+}
+
+/**
+ * Return the permissions for a directory that is accessed directly or indirectly.
+ * A child of a predefined directory in the directory list takes its parent's properties.
+ * If it has multiple parents, it gets the properties of the latter in the list.
+ */
+function imce_directory_info($dirname, $imce) {
+
+ if (isset($imce['directories'][$dirname])) {
+ return $imce['directories'][$dirname];
+ }
+
+ $info = FALSE;
+ if (imce_reg_dir($dirname)) {
+ $diruri = imce_dir_uri($imce, $dirname);
+ if (file_prepare_directory($diruri)) {
+ foreach ($imce['directories'] as $name => $prop) {
+ if ($prop['subnav'] && ($name === '.' || strpos($dirname . '/', $name . '/') === 0)) {
+ $info = $prop;
+ $info['name'] = $dirname;
+ }
+ }
+ }
+ }
+
+ return $info;
+}
+
+/**
+ * Detect if the subdirectories are accessible through any directory(not just the current one) in the list.
+ */
+function imce_subdirectories_accessible(&$imce) {
+
+ if (!empty($imce['subdirectories'])) {
+ if (!empty($imce['perm']['subnav'])) {
+ return TRUE;
+ }
+ //checking only the first one is sufficient.
+ $dirname = reset($imce['subdirectories']);
+ if ($imce['dir'] !== '.') {
+ $dirname = $imce['dir'] . '/' . $dirname;
+ }
+
+ //check if any setting is applicable for this subdirectory through any directory in the list.
+ foreach ($imce['directories'] as $name => $info) {
+ $name = (string) $name;
+ if ($info['subnav'] && $dirname != $name && ($name == '.' || strpos($dirname . '/', $name . '/') === 0)) {
+ return TRUE;
+ }
+ }
+ }
+
+ return FALSE;
+}
+
+/**
+ * Check if a permission is given to at least one directory in the list.
+ */
+function imce_perm_exists(&$imce, $perm) {
+ static $perms = array();
+
+ if (isset($perms[$perm])) {
+ return $perms[$perm];
+ }
+
+ if (isset($imce['perm'][$perm]) && $imce['perm'][$perm]) {
+ return $perms[$perm] = TRUE;
+ }
+
+ foreach ($imce['directories'] as $name => $info) {
+ if (isset($info[$perm]) && $info[$perm]) {
+ return $perms[$perm] = TRUE;
+ }
+ }
+
+ return $perms[$perm] = FALSE;
+}
+
+/**
+ * Scan directory and return file list, subdirectories, and total size.
+ */
+function imce_scan_directory($dirname, $imce) {
+
+ $directory = array('dirsize' => 0, 'files' => array(), 'subdirectories' => array(), 'error' => FALSE);
+ $diruri = imce_dir_uri($imce, $dirname);
+
+ if (!is_string($dirname) || $dirname == '' || !$handle = opendir($diruri)) {
+ imce_inaccessible_directory($dirname, $imce);
+ $directory['error'] = TRUE;
+ return $directory;
+ }
+
+ while (($file = readdir($handle)) !== FALSE) {
+
+ // Do not include dot files and folders
+ if (substr($file, 0, 1) === '.') {
+ continue;
+ }
+
+ $path = $diruri . $file;
+
+ if (is_dir($path)) {
+ $directory['subdirectories'][] = $file;
+ continue;
+ }
+
+ $width = $height = 0;
+ if ($img = imce_image_info($path)) {
+ $width = $img['width'];
+ $height = $img['height'];
+ }
+ $size = filesize($path);
+ $date = filemtime($path);
+ $directory['files'][$file] = array(
+ 'name' => $file,
+ 'size' => $size,
+ 'width' => $width,
+ 'height' => $height,
+ 'date' => $date
+ );
+ $directory['dirsize'] += $size;
+ }
+
+ closedir($handle);
+ sort($directory['subdirectories']);
+ return $directory;
+}
+
+/**
+ * Create directory tree.
+ */
+function imce_create_tree(&$imce) {
+ $paths = array();
+ //rearrange paths as arg0=>arg1=>...
+ foreach ($imce['directories'] as $path => $arr) {
+ $tmp =& $paths;
+ if ($path != '.') {
+ $args = explode('/', $path);
+ foreach ($args as $arg) {
+ if (!isset($tmp[$arg])) {
+ $tmp[$arg] = array();
+ }
+ $tmp =& $tmp[$arg];
+ }
+ $tmp[':access:'] = TRUE;
+ }
+ if ("$path" == $imce['dir']) {
+ $tmp[':active:'] = TRUE;
+ foreach ($imce['subdirectories'] as $arg) {
+ $tmp[$arg][':access:'] = TRUE;
+ }
+ }
+ }
+ //set root branch
+ $root = theme('imce_root_text', array('imce_ref' => array('imce' => &$imce)));
+ $q = $imce['clean'] ? '?' : '&';
+ if (isset($imce['directories']['.'])) {
+ $root = '' . $root . ' ';
+ }
+ else {
+ $root = '' . $root . ' ';
+ }
+
+ return $root . imce_tree_html($imce, $paths, $q);
+}
+
+/**
+ * Return tree html.
+ * This is not themable because it is complex and needs to be in a proper format for js processing.
+ */
+function imce_tree_html(&$imce, $paths, $q = '?', $prefix = '', $eprefix = '') {
+ unset($paths[':access:'], $paths[':active:']);
+ $html = '';
+ foreach ($paths as $arg => $children) {
+ $path = $prefix . $arg;
+ $earg = rawurlencode($arg);
+ $epath = $eprefix . $earg;
+ if (isset($children[':access:']) || imce_directory_info($path, $imce)) {
+ $a = '' . $earg . ' ';
+ }
+ else {
+ $a = '' . $earg . ' ';
+ }
+ $ul = imce_tree_html($imce, $children, $q, $path . '/', $epath . '/');
+ $class = $ul ? ' class="expanded"' : (isset($children[':active:']) ? ' class="leaf"' : '');
+ $html .= '' . $a . $ul . ' ';
+ }
+ if ($html) {
+ $html = '';
+ }
+ return $html;
+}
+
+/**
+ * Return the uri of the active directory
+ */
+function imce_dir_uri($imce, $dir = NULL) {
+ if (!isset($dir)) {
+ $dir = $imce['dir'];
+ }
+ $target = $dir === '.' ? '' : $dir;
+ $uri = $imce['scheme'] . '://' . $target;
+ // Uri is already normalized. Call alterers.
+ drupal_alter('file_stream_wrapper_uri_normalize', $uri, $imce['scheme'], $target);
+ // Add the slash
+ if (substr($uri, -1) !== '/') {
+ $uri .= '/';
+ }
+ return $uri;
+}
+
+/**
+ * Returns the text for the root directory in a directory tree.
+ */
+function theme_imce_root_text($variables) {
+ //$imce = &$variables['imce_ref']['imce'];
+ return '<' . t('root') . '>';
+}
+
+/**
+ * Returns the html for user's file browser tab.
+ */
+function theme_imce_user_page($variables) {
+ global $user;
+ $account = $variables['account'];
+ $options = array();
+ //switch to account's active folder
+ if ($user->uid == 1 && $account->uid != 1) {
+ $imce = imce_initiate_profile($account);
+ $options['query'] = array('dir' => $imce['dir']);
+ }
+ return '';
+}
+
+/**
+ * Registers the file as an IMCE file.
+ */
+function imce_file_register($file) {
+ if (!db_query("SELECT 1 FROM {file_usage} WHERE module = 'imce' AND fid = :fid", array(':fid' => $file->fid))->fetchField()) {
+ file_usage_add($file, 'imce', 'file', $file->fid);
+ }
+}
\ No newline at end of file
diff --git a/sites/all/modules/imce/js/imce.js b/sites/all/modules/imce/js/imce.js
new file mode 100644
index 0000000..17c8f7c
--- /dev/null
+++ b/sites/all/modules/imce/js/imce.js
@@ -0,0 +1,857 @@
+(function($) {
+//Global container.
+window.imce = {tree: {}, findex: [], fids: {}, selected: {}, selcount: 0, ops: {}, cache: {}, urlId: {},
+vars: {previewImages: 1, cache: 1},
+hooks: {load: [], list: [], navigate: [], cache: []},
+
+//initiate imce.
+initiate: function() {
+ imce.conf = Drupal.settings.imce || {};
+ if (imce.conf.error != false) return;
+ imce.ie = (navigator.userAgent.match(/msie (\d+)/i) || ['', 0])[1] * 1;
+ imce.FLW = imce.el('file-list-wrapper'), imce.SBW = imce.el('sub-browse-wrapper');
+ imce.NW = imce.el('navigation-wrapper'), imce.BW = imce.el('browse-wrapper');
+ imce.PW = imce.el('preview-wrapper'), imce.FW = imce.el('forms-wrapper');
+ imce.updateUI();
+ imce.prepareMsgs();//process initial status messages
+ imce.initiateTree();//build directory tree
+ imce.hooks.list.unshift(imce.processRow);//set the default list-hook.
+ imce.initiateList();//process file list
+ imce.initiateOps();//prepare operation tabs
+ imce.refreshOps();
+ // Bind global error handler
+ $(document).ajaxError(imce.ajaxError);
+ imce.invoke('load', window);//run functions set by external applications.
+},
+
+//process navigation tree
+initiateTree: function() {
+ $('#navigation-tree li').each(function(i) {
+ var a = this.firstChild, txt = a.firstChild;
+ txt && (txt.data = imce.decode(txt.data));
+ var branch = imce.tree[a.title] = {'a': a, li: this, ul: this.lastChild.tagName == 'UL' ? this.lastChild : null};
+ if (a.href) imce.dirClickable(branch);
+ imce.dirCollapsible(branch);
+ });
+},
+
+//Add a dir to the tree under parent
+dirAdd: function(dir, parent, clickable) {
+ if (imce.tree[dir]) return clickable ? imce.dirClickable(imce.tree[dir]) : imce.tree[dir];
+ var parent = parent || imce.tree['.'];
+ parent.ul = parent.ul ? parent.ul : parent.li.appendChild(imce.newEl('ul'));
+ var branch = imce.dirCreate(dir, imce.decode(dir.substr(dir.lastIndexOf('/')+1)), clickable);
+ parent.ul.appendChild(branch.li);
+ return branch;
+},
+
+//create list item for navigation tree
+dirCreate: function(dir, text, clickable) {
+ if (imce.tree[dir]) return imce.tree[dir];
+ var branch = imce.tree[dir] = {li: imce.newEl('li'), a: imce.newEl('a')};
+ $(branch.a).addClass('folder').text(text).attr('title', dir).appendTo(branch.li);
+ imce.dirCollapsible(branch);
+ return clickable ? imce.dirClickable(branch) : branch;
+},
+
+//change currently active directory
+dirActivate: function(dir) {
+ if (dir != imce.conf.dir) {
+ if (imce.tree[imce.conf.dir]){
+ $(imce.tree[imce.conf.dir].a).removeClass('active');
+ }
+ $(imce.tree[dir].a).addClass('active');
+ imce.conf.dir = dir;
+ }
+ return imce.tree[imce.conf.dir];
+},
+
+//make a dir accessible
+dirClickable: function(branch) {
+ if (branch.clkbl) return branch;
+ $(branch.a).attr('href', '#').removeClass('disabled').click(function() {imce.navigate(this.title); return false;});
+ branch.clkbl = true;
+ return branch;
+},
+
+//sub-directories expand-collapse ability
+dirCollapsible: function (branch) {
+ if (branch.clpsbl) return branch;
+ $(imce.newEl('span')).addClass('expander').html(' ').click(function() {
+ if (branch.ul) {
+ $(branch.ul).toggle();
+ $(branch.li).toggleClass('expanded');
+ imce.ie && $('#navigation-header').css('top', imce.NW.scrollTop);
+ }
+ else if (branch.clkbl){
+ $(branch.a).click();
+ }
+ }).prependTo(branch.li);
+ branch.clpsbl = true;
+ return branch;
+},
+
+//update navigation tree after getting subdirectories.
+dirSubdirs: function(dir, subdirs) {
+ var branch = imce.tree[dir];
+ if (subdirs && subdirs.length) {
+ var prefix = dir == '.' ? '' : dir +'/';
+ for (var i in subdirs) {//add subdirectories
+ imce.dirAdd(prefix + subdirs[i], branch, true);
+ }
+ $(branch.li).removeClass('leaf').addClass('expanded');
+ $(branch.ul).show();
+ }
+ else if (!branch.ul){//no subdirs->leaf
+ $(branch.li).removeClass('expanded').addClass('leaf');
+ }
+},
+
+//process file list
+initiateList: function(cached) {
+ var L = imce.hooks.list, dir = imce.conf.dir, token = {'%dir': dir == '.' ? $(imce.tree['.'].a).text() : imce.decode(dir)}
+ imce.findex = [], imce.fids = {}, imce.selected = {}, imce.selcount = 0, imce.vars.lastfid = null;
+ imce.tbody = imce.el('file-list').tBodies[0];
+ if (imce.tbody.rows.length) {
+ for (var row, i = 0; row = imce.tbody.rows[i]; i++) {
+ var fid = row.id;
+ imce.findex[i] = imce.fids[fid] = row;
+ if (cached) {
+ if (imce.hasC(row, 'selected')) {
+ imce.selected[imce.vars.lastfid = fid] = row;
+ imce.selcount++;
+ }
+ }
+ else {
+ for (var func, j = 0; func = L[j]; j++) func(row);//invoke list-hook
+ }
+ }
+ }
+ if (!imce.conf.perm.browse) {
+ imce.setMessage(Drupal.t('File browsing is disabled in directory %dir.', token), 'error');
+ }
+},
+
+//add a file to the list. (having properties name,size,formatted size,width,height,date,formatted date)
+fileAdd: function(file) {
+ var row, fid = file.name, i = imce.findex.length, attr = ['name', 'size', 'width', 'height', 'date'];
+ if (!(row = imce.fids[fid])) {
+ row = imce.findex[i] = imce.fids[fid] = imce.tbody.insertRow(i);
+ for (var i in attr) row.insertCell(i).className = attr[i];
+ }
+ row.cells[0].innerHTML = row.id = fid;
+ row.cells[1].innerHTML = file.fsize; row.cells[1].id = file.size;
+ row.cells[2].innerHTML = file.width;
+ row.cells[3].innerHTML = file.height;
+ row.cells[4].innerHTML = file.fdate; row.cells[4].id = file.date;
+ imce.invoke('list', row);
+ if (imce.vars.prvfid == fid) imce.setPreview(fid);
+ if (file.id) imce.urlId[imce.getURL(fid)] = file.id;
+},
+
+//remove a file from the list
+fileRemove: function(fid) {
+ if (!(row = imce.fids[fid])) return;
+ imce.fileDeSelect(fid);
+ imce.findex.splice(row.rowIndex, 1);
+ $(row).remove();
+ delete imce.fids[fid];
+ if (imce.vars.prvfid == fid) imce.setPreview();
+},
+
+//return a file object containing all properties.
+fileGet: function (fid) {
+ var file = imce.fileProps(fid);
+ if (file) {
+ file.name = imce.decode(fid);
+ file.url = imce.getURL(fid);
+ file.relpath = imce.getRelpath(fid);
+ file.id = imce.urlId[file.url] || 0; //file id for newly uploaded files
+ }
+ return file;
+},
+
+//return file properties embedded in html.
+fileProps: function (fid) {
+ var row = imce.fids[fid];
+ return row ? {
+ size: row.cells[1].innerHTML,
+ bytes: row.cells[1].id * 1,
+ width: row.cells[2].innerHTML * 1,
+ height: row.cells[3].innerHTML * 1,
+ date: row.cells[4].innerHTML,
+ time: row.cells[4].id * 1
+ } : null;
+},
+
+//simulate row click. selection-highlighting
+fileClick: function(row, ctrl, shft) {
+ if (!row) return;
+ var fid = typeof(row) == 'string' ? row : row.id;
+ if (ctrl || fid == imce.vars.prvfid) {
+ imce.fileToggleSelect(fid);
+ }
+ else if (shft) {
+ var last = imce.lastFid();
+ var start = last ? imce.fids[last].rowIndex : -1;
+ var end = imce.fids[fid].rowIndex;
+ var step = start > end ? -1 : 1;
+ while (start != end) {
+ start += step;
+ imce.fileSelect(imce.findex[start].id);
+ }
+ }
+ else {
+ for (var fname in imce.selected) {
+ imce.fileDeSelect(fname);
+ }
+ imce.fileSelect(fid);
+ }
+ //set preview
+ imce.setPreview(imce.selcount == 1 ? imce.lastFid() : null);
+},
+
+//file select/deselect functions
+fileSelect: function (fid) {
+ if (imce.selected[fid] || !imce.fids[fid]) return;
+ imce.selected[fid] = imce.fids[imce.vars.lastfid=fid];
+ $(imce.selected[fid]).addClass('selected');
+ imce.selcount++;
+},
+fileDeSelect: function (fid) {
+ if (!imce.selected[fid] || !imce.fids[fid]) return;
+ if (imce.vars.lastfid == fid) imce.vars.lastfid = null;
+ $(imce.selected[fid]).removeClass('selected');
+ delete imce.selected[fid];
+ imce.selcount--;
+},
+fileToggleSelect: function (fid) {
+ imce['file'+ (imce.selected[fid] ? 'De' : '') +'Select'](fid);
+},
+
+//process file operation form and create operation tabs.
+initiateOps: function() {
+ imce.setHtmlOps();
+ imce.setUploadOp();//upload
+ imce.setFileOps();//thumb, delete, resize
+},
+
+//process existing html ops.
+setHtmlOps: function () {
+ $(imce.el('ops-list')).children('li').each(function() {
+ if (!this.firstChild) return $(this).remove();
+ var name = this.id.substr(8);
+ var Op = imce.ops[name] = {div: imce.el('op-content-'+ name), li: imce.el('op-item-'+ name)};
+ Op.a = Op.li.firstChild;
+ Op.title = Op.a.innerHTML;
+ $(Op.a).click(function() {imce.opClick(name); return false;});
+ });
+},
+
+//convert upload form to an op.
+setUploadOp: function () {
+ var el, form = imce.el('imce-upload-form');
+ if (!form) return;
+ $(form).ajaxForm(imce.uploadSettings()).find('fieldset').each(function() {//clean up fieldsets
+ this.removeChild(this.firstChild);
+ $(this).after(this.childNodes);
+ }).remove();
+ // Set html response flag
+ el = form.elements['files[imce]'];
+ if (el && el.files && window.FormData) {
+ if (el = form.elements.html_response) {
+ el.value = 0;
+ }
+ }
+ imce.opAdd({name: 'upload', title: Drupal.t('Upload'), content: form});//add op
+},
+
+//convert fileop form submit buttons to ops.
+setFileOps: function () {
+ var form = imce.el('imce-fileop-form');
+ if (!form) return;
+ $(form.elements.filenames).parent().remove();
+ $(form).find('fieldset').each(function() {//remove fieldsets
+ var $sbmt = $('input:submit', this);
+ if (!$sbmt.length) return;
+ var Op = {name: $sbmt.attr('id').substr(5)};
+ var func = function() {imce.fopSubmit(Op.name); return false;};
+ $sbmt.click(func);
+ Op.title = $(this).children('legend').remove().text() || $sbmt.val();
+ Op.name == 'delete' ? (Op.func = func) : (Op.content = this.childNodes);
+ imce.opAdd(Op);
+ }).remove();
+ imce.vars.opform = $(form).serialize();//serialize remaining parts.
+},
+
+//refresh ops states. enable/disable
+refreshOps: function() {
+ for (var p in imce.conf.perm) {
+ if (imce.conf.perm[p]) imce.opEnable(p);
+ else imce.opDisable(p);
+ }
+},
+
+//add a new file operation
+opAdd: function (op) {
+ var oplist = imce.el('ops-list'), opcons = imce.el('op-contents');
+ var name = op.name || ('op-'+ $(oplist).children('li').length);
+ var title = op.title || 'Untitled';
+ var Op = imce.ops[name] = {title: title};
+ if (op.content) {
+ Op.div = imce.newEl('div');
+ $(Op.div).attr({id: 'op-content-'+ name, 'class': 'op-content'}).appendTo(opcons).append(op.content);
+ }
+ Op.a = imce.newEl('a');
+ Op.li = imce.newEl('li');
+ $(Op.a).attr({href: '#', name: name, title: title}).html('' + title +' ').click(imce.opClickEvent);
+ $(Op.li).attr('id', 'op-item-'+ name).append(Op.a).appendTo(oplist);
+ Op.func = op.func || imce.opVoid;
+ return Op;
+},
+
+//click event for file operations
+opClickEvent: function(e) {
+ imce.opClick(this.name);
+ return false;
+},
+
+//void operation function
+opVoid: function() {},
+
+//perform op click
+opClick: function(name) {
+ var Op = imce.ops[name], oldop = imce.vars.op;
+ if (!Op || Op.disabled) {
+ return imce.setMessage(Drupal.t('You can not perform this operation.'), 'error');
+ }
+ if (Op.div) {
+ if (oldop) {
+ var toggle = oldop == name;
+ imce.opShrink(oldop, toggle ? 'fadeOut' : 'hide');
+ if (toggle) return false;
+ }
+ var left = Op.li.offsetLeft;
+ var $opcon = $('#op-contents').css({left: 0});
+ $(Op.div).fadeIn('normal', function() {
+ setTimeout(function() {
+ if (imce.vars.op) {
+ var $inputs = $('input', imce.ops[imce.vars.op].div);
+ $inputs.eq(0).focus();
+ //form inputs become invisible in IE. Solution is as stupid as the behavior.
+ $('html').hasClass('ie') && $inputs.addClass('dummyie').removeClass('dummyie');
+ }
+ });
+ });
+ var diff = left + $opcon.width() - $('#imce-content').width();
+ $opcon.css({left: diff > 0 ? left - diff - 1 : left});
+ $(Op.li).addClass('active');
+ $(imce.opCloseLink).fadeIn(300);
+ imce.vars.op = name;
+ }
+ Op.func(true);
+ return true;
+},
+
+//enable a file operation
+opEnable: function(name) {
+ var Op = imce.ops[name];
+ if (Op && Op.disabled) {
+ Op.disabled = false;
+ $(Op.li).show();
+ }
+},
+
+//disable a file operation
+opDisable: function(name) {
+ var Op = imce.ops[name];
+ if (Op && !Op.disabled) {
+ Op.div && imce.opShrink(name);
+ $(Op.li).hide();
+ Op.disabled = true;
+ }
+},
+
+//hide contents of a file operation
+opShrink: function(name, effect) {
+ if (imce.vars.op != name) return;
+ var Op = imce.ops[name];
+ $(Op.div).stop(true, true)[effect || 'hide']();
+ $(Op.li).removeClass('active');
+ $(imce.opCloseLink).hide();
+ Op.func(false);
+ imce.vars.op = null;
+},
+
+//navigate to dir
+navigate: function(dir) {
+ if (imce.vars.navbusy || (dir == imce.conf.dir && !confirm(Drupal.t('Do you want to refresh the current directory?')))) return;
+ var cache = imce.vars.cache && dir != imce.conf.dir;
+ var set = imce.navSet(dir, cache);
+ if (cache && imce.cache[dir]) {//load from the cache
+ set.success({data: imce.cache[dir]});
+ set.complete();
+ }
+ else $.ajax(set);//live load
+},
+//ajax navigation settings
+navSet: function (dir, cache) {
+ $(imce.tree[dir].li).addClass('loading');
+ imce.vars.navbusy = dir;
+ return {url: imce.ajaxURL('navigate', dir),
+ type: 'GET',
+ dataType: 'json',
+ success: function(response) {
+ if (response.data && !response.data.error) {
+ if (cache) imce.navCache(imce.conf.dir, dir);//cache the current dir
+ imce.navUpdate(response.data, dir);
+ }
+ imce.processResponse(response);
+ },
+ complete: function () {
+ $(imce.tree[dir].li).removeClass('loading');
+ imce.vars.navbusy = null;
+ }
+ };
+},
+
+//update directory using the given data
+navUpdate: function(data, dir) {
+ var cached = data == imce.cache[dir], olddir = imce.conf.dir;
+ if (cached) data.files.id = 'file-list';
+ $(imce.FLW).html(data.files);
+ imce.dirActivate(dir);
+ imce.dirSubdirs(dir, data.subdirectories);
+ $.extend(imce.conf.perm, data.perm);
+ imce.refreshOps();
+ imce.initiateList(cached);
+ imce.setPreview(imce.selcount == 1 ? imce.lastFid() : null);
+ imce.SBW.scrollTop = 0;
+ imce.invoke('navigate', data, olddir, cached);
+},
+
+//set cache
+navCache: function (dir, newdir) {
+ var C = imce.cache[dir] = {'dir': dir, files: imce.el('file-list'), dirsize: imce.el('dir-size').innerHTML, perm: $.extend({}, imce.conf.perm)};
+ C.files.id = 'cached-list-'+ dir;
+ imce.FW.appendChild(C.files);
+ imce.invoke('cache', C, newdir);
+},
+
+//validate upload form
+uploadValidate: function (data, form, options) {
+ var path = $('#edit-imce').val();
+ if (!path) return false;
+ if (imce.conf.extensions != '*') {
+ var ext = path.substr(path.lastIndexOf('.') + 1);
+ if ((' '+ imce.conf.extensions +' ').indexOf(' '+ ext.toLowerCase() +' ') == -1) {
+ return imce.setMessage(Drupal.t('Only files with the following extensions are allowed: %files-allowed.', {'%files-allowed': imce.conf.extensions}), 'error');
+ }
+ }
+ options.url = imce.ajaxURL('upload');//make url contain current dir.
+ imce.fopLoading('upload', true);
+ return true;
+},
+
+//settings for upload
+uploadSettings: function () {
+ return {
+ beforeSubmit: imce.uploadValidate,
+ success: function (response) {
+ try{
+ imce.processResponse($.parseJSON(response));
+ } catch(e) {}
+ },
+ complete: function () {
+ imce.fopLoading('upload', false);
+ },
+ resetForm: true,
+ dataType: 'text'
+ };
+},
+
+//validate default ops(delete, thumb, resize)
+fopValidate: function(fop) {
+ if (!imce.validateSelCount(1, imce.conf.filenum)) return false;
+ switch (fop) {
+ case 'delete':
+ return confirm(Drupal.t('Delete selected files?'));
+ case 'thumb':
+ if (!$('input:checked', imce.ops['thumb'].div).length) {
+ return imce.setMessage(Drupal.t('Please select a thumbnail.'), 'error');
+ }
+ return imce.validateImage();
+ case 'resize':
+ var w = imce.el('edit-width').value, h = imce.el('edit-height').value;
+ var maxDim = imce.conf.dimensions.split('x');
+ var maxW = maxDim[0]*1, maxH = maxW ? maxDim[1]*1 : 0;
+ if (!(/^[1-9][0-9]*$/).test(w) || !(/^[1-9][0-9]*$/).test(h) || (maxW && (maxW < w*1 || maxH < h*1))) {
+ return imce.setMessage(Drupal.t('Please specify dimensions within the allowed range that is from 1x1 to @dimensions.', {'@dimensions': maxW ? imce.conf.dimensions : Drupal.t('unlimited')}), 'error');
+ }
+ return imce.validateImage();
+ }
+
+ var func = fop +'OpValidate';
+ if (imce[func]) return imce[func](fop);
+ return true;
+},
+
+//submit wrapper for default ops
+fopSubmit: function(fop) {
+ switch (fop) {
+ case 'thumb': case 'delete': case 'resize': return imce.commonSubmit(fop);
+ }
+ var func = fop +'OpSubmit';
+ if (imce[func]) return imce[func](fop);
+},
+
+//common submit function shared by default ops
+commonSubmit: function(fop) {
+ if (!imce.fopValidate(fop)) return false;
+ imce.fopLoading(fop, true);
+ $.ajax(imce.fopSettings(fop));
+},
+
+//settings for default file operations
+fopSettings: function (fop) {
+ return {url: imce.ajaxURL(fop), type: 'POST', dataType: 'json', success: imce.processResponse, complete: function (response) {imce.fopLoading(fop, false);}, data: imce.vars.opform +'&filenames='+ encodeURIComponent(imce.serialNames()) +'&jsop='+ fop + (imce.ops[fop].div ? '&'+ $('input, select, textarea', imce.ops[fop].div).serialize() : '')};
+},
+
+//toggle loading state
+fopLoading: function(fop, state) {
+ var el = imce.el('edit-'+ fop), func = state ? 'addClass' : 'removeClass';
+ if (el) {
+ $(el)[func]('loading');
+ el.disabled = state;
+ }
+ else {
+ $(imce.ops[fop].li)[func]('loading');
+ imce.ops[fop].disabled = state;
+ }
+},
+
+//preview a file.
+setPreview: function (fid) {
+ var row, html = '';
+ imce.vars.prvfid = fid;
+ if (fid && (row = imce.fids[fid])) {
+ var width = row.cells[2].innerHTML * 1;
+ html = imce.vars.previewImages && width ? imce.imgHtml(fid, width, row.cells[3].innerHTML) : imce.decodePlain(fid);
+ html = ''+ html +' ';
+ }
+ imce.el('file-preview').innerHTML = html;
+},
+
+//default file send function. sends the file to the new window.
+send: function (fid) {
+ fid && window.open(imce.getURL(fid));
+},
+
+//add an operation for an external application to which the files are send.
+setSendTo: function (title, func) {
+ imce.send = function (fid) { fid && func(imce.fileGet(fid), window);};
+ var opFunc = function () {
+ if (imce.selcount != 1) return imce.setMessage(Drupal.t('Please select a file.'), 'error');
+ imce.send(imce.vars.prvfid);
+ };
+ imce.vars.prvtitle = title;
+ return imce.opAdd({name: 'sendto', title: title, func: opFunc});
+},
+
+//move initial page messages into log
+prepareMsgs: function () {
+ var msgs;
+ if (msgs = imce.el('imce-messages')) {
+ $('>div', msgs).each(function (){
+ var type = this.className.split(' ')[1];
+ var li = $('>ul li', this);
+ if (li.length) li.each(function () {imce.setMessage(this.innerHTML, type);});
+ else imce.setMessage(this.innerHTML, type);
+ });
+ $(msgs).remove();
+ }
+},
+
+//insert log message
+setMessage: function (msg, type) {
+ var $box = $(imce.msgBox);
+ var logs = imce.el('log-messages') || $(imce.newEl('div')).appendTo('#help-box-content').before(''+ Drupal.t('Log messages') +': ').attr('id', 'log-messages')[0];
+ var msg = ''+ msg +'
';
+ $box.queue(function() {
+ $box.css({opacity: 0, display: 'block'}).html(msg);
+ $box.dequeue();
+ });
+ var q = $box.queue().length, t = imce.vars.msgT || 1000;
+ q = q < 2 ? 1 : q < 3 ? 0.8 : q < 4 ? 0.7 : 0.4;//adjust speed with respect to queue length
+ $box.fadeTo(600 * q, 1).fadeTo(t * q, 1).fadeOut(400 * q);
+ $(logs).append(msg);
+ return false;
+},
+
+//invoke hooks
+invoke: function (hook) {
+ var i, args, func, funcs;
+ if ((funcs = imce.hooks[hook]) && funcs.length) {
+ (args = $.makeArray(arguments)).shift();
+ for (i = 0; func = funcs[i]; i++) func.apply(this, args);
+ }
+},
+
+//process response
+processResponse: function (response) {
+ if (response.data) imce.resData(response.data);
+ if (response.messages) imce.resMsgs(response.messages);
+},
+
+//process response data
+resData: function (data) {
+ var i, added, removed;
+ if (added = data.added) {
+ var cnt = imce.findex.length;
+ for (i in added) {//add new files or update existing
+ imce.fileAdd(added[i]);
+ }
+ if (added.length == 1) {//if it is a single file operation
+ imce.highlight(added[0].name);//highlight
+ }
+ if (imce.findex.length != cnt) {//if new files added, scroll to bottom.
+ $(imce.SBW).animate({scrollTop: imce.SBW.scrollHeight}).focus();
+ }
+ }
+ if (removed = data.removed) for (i in removed) {
+ imce.fileRemove(removed[i]);
+ }
+ imce.conf.dirsize = data.dirsize;
+ imce.updateStat();
+},
+
+//set response messages
+resMsgs: function (msgs) {
+ for (var type in msgs) for (var i in msgs[type]) {
+ imce.setMessage(msgs[type][i], type);
+ }
+},
+
+//return img markup
+imgHtml: function (fid, width, height) {
+ return ' ';
+},
+
+//check if the file is an image
+isImage: function (fid) {
+ return imce.fids[fid].cells[2].innerHTML * 1;
+},
+
+//find the first non-image in the selection
+getNonImage: function (selected) {
+ for (var fid in selected) {
+ if (!imce.isImage(fid)) return fid;
+ }
+ return false;
+},
+
+//validate current selection for images
+validateImage: function () {
+ var nonImg = imce.getNonImage(imce.selected);
+ return nonImg ? imce.setMessage(Drupal.t('%filename is not an image.', {'%filename': imce.decode(nonImg)}), 'error') : true;
+},
+
+//validate number of selected files
+validateSelCount: function (Min, Max) {
+ if (Min && imce.selcount < Min) {
+ return imce.setMessage(Min == 1 ? Drupal.t('Please select a file.') : Drupal.t('You must select at least %num files.', {'%num': Min}), 'error');
+ }
+ if (Max && Max < imce.selcount) {
+ return imce.setMessage(Drupal.t('You are not allowed to operate on more than %num files.', {'%num': Max}), 'error');
+ }
+ return true;
+},
+
+//update file count and dir size
+updateStat: function () {
+ imce.el('file-count').innerHTML = imce.findex.length;
+ imce.el('dir-size').innerHTML = imce.conf.dirsize;
+},
+
+//serialize selected files. return fids with a colon between them
+serialNames: function () {
+ var str = '';
+ for (var fid in imce.selected) {
+ str += ':'+ fid;
+ }
+ return str.substr(1);
+},
+
+//get file url. re-encode & and # for mod rewrite
+getURL: function (fid, uncached) {
+ var url = imce.getRelpath(fid);
+ if (imce.conf.modfix) {
+ url = url.replace(/%(23|26)/g, '%25$1');
+ }
+ url = imce.conf.furl + url;
+ if (uncached) {
+ var file = imce.fileProps(fid);
+ url += (url.indexOf('?') === -1 ? '?' : '&') + 's' + file.bytes + 'd' + file.time;
+ }
+ return url;
+},
+
+//get encoded file path relative to root.
+getRelpath: function (fid) {
+ var dir = imce.conf.dir;
+ return (dir === '.' ? '' : dir + '/') + fid;
+},
+
+//el. by id
+el: function (id) {
+ return document.getElementById(id);
+},
+
+//find the latest selected fid
+lastFid: function () {
+ if (imce.vars.lastfid) return imce.vars.lastfid;
+ for (var fid in imce.selected);
+ return fid;
+},
+
+//create ajax url
+ajaxURL: function (op, dir) {
+ return imce.conf.url + (imce.conf.clean ? '?' :'&') +'jsop='+ op +'&dir='+ (dir||imce.conf.dir);
+},
+
+//fast class check
+hasC: function (el, name) {
+ return el.className && (' '+ el.className +' ').indexOf(' '+ name +' ') != -1;
+},
+
+//highlight a single file
+highlight: function (fid) {
+ if (imce.vars.prvfid) imce.fileClick(imce.vars.prvfid);
+ imce.fileClick(fid);
+},
+
+//process a row
+processRow: function (row) {
+ row.cells[0].innerHTML = '' + imce.decodePlain(row.id) + ' ';
+ row.onmousedown = function(e) {
+ var e = e||window.event;
+ imce.fileClick(this, e.ctrlKey, e.shiftKey);
+ return !(e.ctrlKey || e.shiftKey);
+ };
+ row.ondblclick = function(e) {
+ imce.send(this.id);
+ return false;
+ };
+},
+
+//decode urls. uses unescape. can be overridden to use decodeURIComponent
+decode: function (str) {
+ try {
+ return decodeURIComponent(str);
+ } catch(e) {}
+ return str;
+},
+
+//decode and convert to plain text
+decodePlain: function (str) {
+ return Drupal.checkPlain(imce.decode(str));
+},
+
+//global ajax error function
+ajaxError: function (e, response, settings, thrown) {
+ imce.setMessage(Drupal.ajaxError(response, settings.url).replace(/\n/g, ' '), 'error');
+},
+
+//convert button elements to standard input buttons
+convertButtons: function(form) {
+ $('button:submit', form).each(function(){
+ $(this).replaceWith(' ');
+ });
+},
+
+//create element
+newEl: function(name) {
+ return document.createElement(name);
+},
+
+//scroll syncronization for section headers
+syncScroll: function(scrlEl, fixEl, bottom) {
+ var $fixEl = $(fixEl);
+ var prop = bottom ? 'bottom' : 'top';
+ var factor = bottom ? -1 : 1;
+ var syncScrl = function(el) {
+ $fixEl.css(prop, factor * el.scrollTop);
+ }
+ $(scrlEl).scroll(function() {
+ var el = this;
+ syncScrl(el);
+ setTimeout(function() {
+ syncScrl(el);
+ });
+ });
+},
+
+//get UI ready. provide backward compatibility.
+updateUI: function() {
+ //file urls.
+ var furl = imce.conf.furl, isabs = furl.indexOf('://') > -1;
+ var absurls = imce.conf.absurls = imce.vars.absurls || imce.conf.absurls;
+ var host = location.host;
+ var baseurl = location.protocol + '//' + host;
+ if (furl.charAt(furl.length - 1) != '/') {
+ furl = imce.conf.furl = furl + '/';
+ }
+ imce.conf.modfix = imce.conf.clean && furl.split('/')[3] === 'system';
+ if (absurls && !isabs) {
+ imce.conf.furl = baseurl + furl;
+ }
+ else if (!absurls && isabs && furl.indexOf(baseurl) == 0) {
+ furl = furl.substr(baseurl.length);
+ // Server base url is defined with a port which is missing in current page url.
+ if (furl.charAt(0) === ':') {
+ furl = furl.replace(/^:\d*/, '');
+ }
+ imce.conf.furl = furl;
+ }
+ //convert button elements to input elements.
+ imce.convertButtons(imce.FW);
+ //ops-list
+ $('#ops-list').removeClass('tabs secondary').addClass('clear-block clearfix');
+ imce.opCloseLink = $(imce.newEl('a')).attr({id: 'op-close-link', href: '#', title: Drupal.t('Close')}).click(function() {
+ imce.vars.op && imce.opClick(imce.vars.op);
+ return false;
+ }).appendTo('#op-contents')[0];
+ //navigation-header
+ if (!$('#navigation-header').length) {
+ $(imce.NW).children('.navigation-text').attr('id', 'navigation-header').wrapInner(' ');
+ }
+ //log
+ $('#log-prv-wrapper').before($('#log-prv-wrapper > #preview-wrapper')).remove();
+ $('#log-clearer').remove();
+ //content resizer
+ $('#content-resizer').remove();
+ //message-box
+ imce.msgBox = imce.el('message-box') || $(imce.newEl('div')).attr('id', 'message-box').prependTo('#imce-content')[0];
+ //create help tab
+ var $hbox = $('#help-box');
+ $hbox.is('a') && $hbox.replaceWith($(imce.newEl('div')).attr('id', 'help-box').append($hbox.children()));
+ imce.hooks.load.push(function() {
+ imce.opAdd({name: 'help', title: $('#help-box-title').remove().text(), content: $('#help-box').show()});
+ });
+ //add ie classes
+ imce.ie && $('html').addClass('ie') && imce.ie < 8 && $('html').addClass('ie-7');
+ // enable box view for file list
+ imce.vars.boxW && imce.boxView();
+ //scrolling file list
+ imce.syncScroll(imce.SBW, '#file-header-wrapper');
+ imce.syncScroll(imce.SBW, '#dir-stat', true);
+ //scrolling directory tree
+ imce.syncScroll(imce.NW, '#navigation-header');
+}
+
+};
+
+//initiate
+$(document).ready(imce.initiate);
+
+})(jQuery);
\ No newline at end of file
diff --git a/sites/all/modules/imce/js/imce_extras.js b/sites/all/modules/imce/js/imce_extras.js
new file mode 100644
index 0000000..b558cc5
--- /dev/null
+++ b/sites/all/modules/imce/js/imce_extras.js
@@ -0,0 +1,284 @@
+//This pack implemets: keyboard shortcuts, file sorting, resize bars, and inline thumbnail preview.
+
+(function($) {
+
+// add scale calculator for resizing.
+imce.hooks.load.push(function () {
+ $('#edit-width, #edit-height').focus(function () {
+ var fid, r, w, isW, val;
+ if (fid = imce.vars.prvfid) {
+ isW = this.id == 'edit-width', val = imce.el(isW ? 'edit-height' : 'edit-width').value*1;
+ if (val && (w = imce.isImage(fid)) && (r = imce.fids[fid].cells[3].innerHTML*1 / w))
+ this.value = Math.round(isW ? val/r : val*r);
+ }
+ });
+});
+
+// Shortcuts
+var F = null;
+imce.initiateShortcuts = function () {
+ $(imce.NW).attr('tabindex', '0').keydown(function (e) {
+ if (F = imce.dirKeys['k'+ e.keyCode]) return F(e);
+ });
+ $(imce.FLW).attr('tabindex', '0').keydown(function (e) {
+ if (F = imce.fileKeys['k'+ e.keyCode]) return F(e);
+ }).focus();
+};
+
+//shortcut key-function pairs for directories
+imce.dirKeys = {
+ k35: function (e) {//end-home. select first or last dir
+ var L = imce.tree['.'].li;
+ if (e.keyCode == 35) while (imce.hasC(L, 'expanded')) L = L.lastChild.lastChild;
+ $(L.childNodes[1]).click().focus();
+ },
+ k37: function (e) {//left-right. collapse-expand directories.(right may also move focus on files)
+ var L, B = imce.tree[imce.conf.dir], right = e.keyCode == 39;
+ if (B.ul && (right ^ imce.hasC(L = B.li, 'expanded')) ) $(L.firstChild).click();
+ else if (right) $(imce.FLW).focus();
+ },
+ k38: function (e) {//up. select the previous directory
+ var B = imce.tree[imce.conf.dir];
+ if (L = B.li.previousSibling) {
+ while (imce.hasC(L, 'expanded')) L = L.lastChild.lastChild;
+ $(L.childNodes[1]).click().focus();
+ }
+ else if ((L = B.li.parentNode.parentNode) && L.tagName == 'LI') $(L.childNodes[1]).click().focus();
+ },
+ k40: function (e) {//down. select the next directory
+ var B = imce.tree[imce.conf.dir], L = B.li, U = B.ul;
+ if (U && imce.hasC(L, 'expanded')) $(U.firstChild.childNodes[1]).click().focus();
+ else do {if (L.nextSibling) return $(L.nextSibling.childNodes[1]).click().focus();
+ }while ((L = L.parentNode.parentNode).tagName == 'LI');
+ }
+};
+//add equal keys
+imce.dirKeys.k36 = imce.dirKeys.k35;
+imce.dirKeys.k39 = imce.dirKeys.k37;
+
+//shortcut key-function pairs for files
+imce.fileKeys = {
+ k38: function (e) {//up-down. select previous-next row
+ var fid = imce.lastFid(), i = fid ? imce.fids[fid].rowIndex+e.keyCode-39 : 0;
+ imce.fileClick(imce.findex[i], e.ctrlKey, e.shiftKey);
+ },
+ k35: function (e) {//end-home. select first or last row
+ imce.fileClick(imce.findex[e.keyCode == 35 ? imce.findex.length-1 : 0], e.ctrlKey, e.shiftKey);
+ },
+ k13: function (e) {//enter-insert. send file to external app.
+ imce.send(imce.vars.prvfid);
+ return false;
+ },
+ k37: function (e) {//left. focus on directories
+ $(imce.tree[imce.conf.dir].a).focus();
+ },
+ k65: function (e) {//ctrl+A to select all
+ if (e.ctrlKey && imce.findex.length) {
+ var fid = imce.findex[0].id;
+ imce.selected[fid] ? (imce.vars.lastfid = fid) : imce.fileClick(fid);//select first row
+ imce.fileClick(imce.findex[imce.findex.length-1], false, true);//shift+click last row
+ return false;
+ }
+ }
+};
+//add equal keys
+imce.fileKeys.k40 = imce.fileKeys.k38;
+imce.fileKeys.k36 = imce.fileKeys.k35;
+imce.fileKeys.k45 = imce.fileKeys.k13;
+//add default operation keys. delete, R(esize), T(humbnails), U(pload)
+$.each({k46: 'delete', k82: 'resize', k84: 'thumb', k85: 'upload'}, function (k, op) {
+ imce.fileKeys[k] = function (e) {
+ if (imce.ops[op] && !imce.ops[op].disabled) imce.opClick(op);
+ };
+});
+
+//prepare column sorting
+imce.initiateSorting = function() {
+ //add cache hook. cache the old directory's sort settings before the new one replaces it.
+ imce.hooks.cache.push(function (cache, newdir) {
+ cache.cid = imce.vars.cid, cache.dsc = imce.vars.dsc;
+ });
+ //add navigation hook. refresh sorting after the new directory content is loaded.
+ imce.hooks.navigate.push(function (data, olddir, cached) {
+ cached ? imce.updateSortState(data.cid, data.dsc) : imce.firstSort();
+ });
+ imce.vars.cid = imce.cookie('imcecid') * 1;
+ imce.vars.dsc = imce.cookie('imcedsc') * 1;
+ imce.cols = imce.el('file-header').rows[0].cells;
+ $(imce.cols).click(function () {imce.columnSort(this.cellIndex, imce.hasC(this, 'asc'));});
+ imce.firstSort();
+};
+
+//sort the list for the first time
+imce.firstSort = function() {
+ imce.columnSort(imce.vars.cid, imce.vars.dsc);
+};
+
+//sort file list according to column index.
+imce.columnSort = function(cid, dsc) {
+ if (imce.findex.length < 2) return;
+ var func = 'sort'+ (cid == 0 ? 'Str' : 'Num') + (dsc ? 'Dsc' : 'Asc');
+ var prop = cid == 2 || cid == 3 ? 'innerHTML' : 'id';
+ //sort rows
+ imce.findex.sort(cid ? function(r1, r2) {return imce[func](r1.cells[cid][prop], r2.cells[cid][prop])} : function(r1, r2) {return imce[func](r1.id, r2.id)});
+ //insert sorted rows
+ for (var row, i=0; row = imce.findex[i]; i++) {
+ imce.tbody.appendChild(row);
+ }
+ imce.updateSortState(cid, dsc);
+};
+
+//update column states
+imce.updateSortState = function(cid, dsc) {
+ $(imce.cols[imce.vars.cid]).removeClass(imce.vars.dsc ? 'desc' : 'asc');
+ $(imce.cols[cid]).addClass(dsc ? 'desc' : 'asc');
+ imce.vars.cid != cid && imce.cookie('imcecid', imce.vars.cid = cid);
+ imce.vars.dsc != dsc && imce.cookie('imcedsc', (imce.vars.dsc = dsc) ? 1 : 0);
+};
+
+//sorters
+imce.sortStrAsc = function(a, b) {return a.toLowerCase() < b.toLowerCase() ? -1 : 1;};
+imce.sortStrDsc = function(a, b) {return imce.sortStrAsc(b, a);};
+imce.sortNumAsc = function(a, b) {return a-b;};
+imce.sortNumDsc = function(a, b) {return b-a};
+
+//set resizers for resizable areas and recall previous dimensions
+imce.initiateResizeBars = function () {
+ imce.setResizer('#navigation-resizer', 'X', imce.NW, null, 1, function(p1, p2, m) {
+ p1 != p2 && imce.cookie('imcenww', p2);
+ });
+ imce.setResizer('#browse-resizer', 'Y', imce.BW, imce.PW, 50, function(p1, p2, m) {
+ p1 != p2 && imce.cookie('imcebwh', p2);
+ });
+ imce.recallDimensions();
+};
+
+//set a resize bar
+imce.setResizer = function (resizer, axis, area1, area2, Min, callback) {
+ var opt = axis == 'X' ? {pos: 'pageX', func: 'width'} : {pos: 'pageY', func: 'height'};
+ var Min = Min || 0;
+ var $area1 = $(area1), $area2 = area2 ? $(area2) : null, $doc = $(document);
+ $(resizer).mousedown(function(e) {
+ var pos = e[opt.pos];
+ var end = start = $area1[opt.func]();
+ var Max = $area2 ? start + $area2[opt.func]() : 1200;
+ var drag = function(e) {
+ end = Math.min(Max - Min, Math.max(start + e[opt.pos] - pos, Min));
+ $area1[opt.func](end);
+ $area2 && $area2[opt.func](Max - end);
+ return false;
+ };
+ var undrag = function(e) {
+ $doc.unbind('mousemove', drag).unbind('mouseup', undrag);
+ callback && callback(start, end, Max);
+ };
+ $doc.mousemove(drag).mouseup(undrag);
+ return false;
+ });
+};
+
+//get&set area dimensions of the last session from the cookie
+imce.recallDimensions = function() {
+ var $body = $(document.body);
+ if (!$body.hasClass('imce')) return;
+ //row heights
+ imce.recallHeights(imce.cookie('imcebwh') * 1);
+ $(window).resize(function(){imce.recallHeights()});
+ //navigation wrapper
+ var nwOldWidth = imce.cookie('imcenww') * 1;
+ nwOldWidth && $(imce.NW).width(Math.min(nwOldWidth, $body.width() - 10));
+};
+
+//set row heights with respect to window height
+imce.recallHeights = function(bwFixedHeight) {
+ //window & body dimensions
+ var winHeight = window.opera ? window.innerHeight : $(window).height();
+ var bodyHeight = $(document.body).outerHeight(true);
+ var diff = winHeight - bodyHeight;
+ var bwHeight = $(imce.BW).height(), pwHeight = $(imce.PW).height();
+ if (bwFixedHeight) {
+ //row heights
+ diff -= bwFixedHeight - bwHeight;
+ bwHeight = bwFixedHeight;
+ pwHeight += diff;
+ }
+ else {
+ diff = parseInt(diff/2);
+ bwHeight += diff;
+ pwHeight += diff;
+ }
+ $(imce.BW).height(bwHeight);
+ $(imce.PW).height(pwHeight);
+};
+
+//cookie get & set
+imce.cookie = function (name, value) {
+ if (typeof(value) == 'undefined') {//get
+ return document.cookie ? imce.decode((document.cookie.match(new RegExp('(?:^|;) *' + name + '=([^;]*)(?:;|$)')) || ['', ''])[1].replace(/\+/g, '%20')) : '';
+ }
+ document.cookie = name +'='+ encodeURIComponent(value) +'; expires='+ (new Date(new Date() * 1 + 15 * 86400000)).toUTCString() +'; path=' + Drupal.settings.basePath + 'imce';//set
+};
+
+//view thumbnails(smaller than tMaxW x tMaxH) inside the rows.
+//Large images can also be previewed by setting imce.vars.prvstyle to a valid image style(imagecache preset)
+imce.thumbRow = function (row) {
+ var w = row.cells[2].innerHTML * 1;
+ if (!w) return;
+ var h = row.cells[3].innerHTML * 1;
+ if (imce.vars.tMaxW < w || imce.vars.tMaxH < h) {
+ if (!imce.vars.prvstyle || imce.conf.dir.indexOf('styles') == 0) return;
+ var img = new Image();
+ img.src = imce.imagestyleURL(imce.getURL(row.id), imce.vars.prvstyle);
+ img.className = 'imagestyle-' + imce.vars.prvstyle;
+ }
+ else {
+ var prvH = h, prvW = w;
+ if (imce.vars.prvW < w || imce.vars.prvH < h) {
+ if (h < w) {
+ prvW = imce.vars.prvW;
+ prvH = prvW*h/w;
+ }
+ else {
+ prvH = imce.vars.prvH;
+ prvW = prvH*w/h;
+ }
+ }
+ var img = new Image(prvW, prvH);
+ img.src = imce.getURL(row.id);
+ }
+ var cell = row.cells[0];
+ cell.insertBefore(img, cell.firstChild);
+};
+
+//convert a file URL returned by imce.getURL() to an image style(imagecache preset) URL
+imce.imagestyleURL = function (url, stylename) {
+ var len = imce.conf.furl.length - 1;
+ return url.substr(0, len) + '/styles/' + stylename + '/' + imce.conf.scheme + url.substr(len);
+};
+
+// replace table view with box view for file list
+imce.boxView = function () {
+ var w = imce.vars.boxW, h = imce.vars.boxH;
+ if (!w || !h || imce.ie && imce.ie < 8) return;
+ var $body = $(document.body);
+ var toggle = function() {
+ $body.toggleClass('box-view');
+ // refresh dom. required by all except FF.
+ $('#file-list').appendTo(imce.FW).appendTo(imce.FLW);
+ };
+ $body.append('');
+ imce.hooks.load.push(function() {
+ toggle();
+ imce.SBW.scrollTop = 0;
+ imce.opAdd({name: 'changeview', title: Drupal.t('Change view'), func: toggle});
+ });
+ imce.hooks.list.push(imce.boxViewRow);
+};
+
+// process a row for box view. include all data in box title.
+imce.boxViewRow = function (row) {
+ var s = ' | ', w = row.cells[2].innerHTML * 1, dim = w ? s + w + 'x' + row.cells[3].innerHTML * 1 : '';
+ row.cells[0].title = imce.decode(row.id) + s + row.cells[1].innerHTML + (dim) + s + row.cells[4].innerHTML;
+};
+
+})(jQuery);
\ No newline at end of file
diff --git a/sites/all/modules/imce/js/imce_set_app.js b/sites/all/modules/imce/js/imce_set_app.js
new file mode 100644
index 0000000..419f7df
--- /dev/null
+++ b/sites/all/modules/imce/js/imce_set_app.js
@@ -0,0 +1,97 @@
+/*
+ * IMCE Integration by URL
+ * Ex-1: http://example.com/imce?app=XEditor|url@urlFieldId|width@widthFieldId|height@heightFieldId
+ * Creates "Insert file" operation tab, which fills the specified fields with url, width, height properties
+ * of the selected file in the parent window
+ * Ex-2: http://example.com/imce?app=XEditor|sendto@functionName
+ * "Insert file" operation calls parent window's functionName(file, imceWindow)
+ * Ex-3: http://example.com/imce?app=XEditor|imceload@functionName
+ * Parent window's functionName(imceWindow) is called as soon as IMCE UI is ready. Send to operation
+ * needs to be set manually. See imce.setSendTo() method in imce.js
+ */
+
+(function($) {
+
+var appFields = {}, appWindow = (top.appiFrm||window).opener || parent;
+
+// Execute when imce loads.
+imce.hooks.load.push(function(win) {
+ var index = location.href.lastIndexOf('app=');
+ if (index == -1) return;
+ var data = decodeURIComponent(location.href.substr(index + 4)).split('|');
+ var arr, prop, str, func, appName = data.shift();
+ // Extract fields
+ for (var i = 0, len = data.length; i < len; i++) {
+ str = data[i];
+ if (!str.length) continue;
+ if (str.indexOf('&') != -1) str = str.split('&')[0];
+ arr = str.split('@');
+ if (arr.length > 1) {
+ prop = arr.shift();
+ appFields[prop] = arr.join('@');
+ }
+ }
+ // Run custom onload function if available
+ if (appFields.imceload && (func = isFunc(appFields.imceload))) {
+ func(win);
+ delete appFields.imceload;
+ }
+ // Set custom sendto function. appFinish is the default.
+ var sendtoFunc = appFields.url ? appFinish : false;
+ //check sendto@funcName syntax in URL
+ if (appFields.sendto && (func = isFunc(appFields.sendto))) {
+ sendtoFunc = func;
+ delete appFields.sendto;
+ }
+ // Check old method windowname+ImceFinish.
+ else if (win.name && (func = isFunc(win.name +'ImceFinish'))) {
+ sendtoFunc = func;
+ }
+ // Highlight file
+ if (appFields.url) {
+ // Support multiple url fields url@field1,field2..
+ if (appFields.url.indexOf(',') > -1) {
+ var arr = appFields.url.split(',');
+ for (var i in arr) {
+ if ($('#'+ arr[i], appWindow.document).length) {
+ appFields.url = arr[i];
+ break;
+ }
+ }
+ }
+ var filename = $('#'+ appFields.url, appWindow.document).val() || '';
+ imce.highlight(filename.substr(filename.lastIndexOf('/')+1));
+ }
+ // Set send to
+ sendtoFunc && imce.setSendTo(Drupal.t('Insert file'), sendtoFunc);
+});
+
+// Default sendTo function
+var appFinish = function(file, win) {
+ var $doc = $(appWindow.document);
+ for (var i in appFields) {
+ $doc.find('#'+ appFields[i]).val(file[i]);
+ }
+ if (appFields.url) {
+ try{
+ $doc.find('#'+ appFields.url).blur().change().focus();
+ }catch(e){
+ try{
+ $doc.find('#'+ appFields.url).trigger('onblur').trigger('onchange').trigger('onfocus');//inline events for IE
+ }catch(e){}
+ }
+ }
+ appWindow.focus();
+ win.close();
+};
+
+// Checks if a string is a function name in the given scope.
+// Returns function reference. Supports x.y.z notation.
+var isFunc = function(str, scope) {
+ var obj = scope || appWindow;
+ var parts = str.split('.'), len = parts.length;
+ for (var i = 0; i < len && (obj = obj[parts[i]]); i++);
+ return obj && i == len && (typeof obj == 'function' || typeof obj != 'string' && !obj.nodeName && obj.constructor != Array && /^[\s[]?function/.test(obj.toString())) ? obj : false;
+}
+
+})(jQuery);
\ No newline at end of file
diff --git a/sites/all/modules/imce/js/imce_set_inline.js b/sites/all/modules/imce/js/imce_set_inline.js
new file mode 100644
index 0000000..08891a1
--- /dev/null
+++ b/sites/all/modules/imce/js/imce_set_inline.js
@@ -0,0 +1,58 @@
+(function($) {
+
+var ii = window.imceInline = {};
+
+// Drupal behavior
+Drupal.behaviors.imceInline = {attach: function(context, settings) {
+ $('div.imce-inline-wrapper', context).not('.processed').addClass('processed').show().find('a').click(function() {
+ var i = this.name.indexOf('-IMCE-');
+ ii.activeTextarea = $('#'+ this.name.substr(0, i)).get(0);
+ ii.activeType = this.name.substr(i+6);
+
+ if (typeof ii.pop == 'undefined' || ii.pop.closed) {
+ ii.pop = window.open(this.href + (this.href.indexOf('?') < 0 ? '?' : '&') +'app=nomatter|imceload@imceInline.load', '', 'width='+ 760 +',height='+ 560 +',resizable=1');
+ }
+
+ ii.pop.focus();
+ return false;
+ });
+}};
+
+//function to be executed when imce loads.
+ii.load = function(win) {
+ win.imce.setSendTo(Drupal.t('Insert file'), ii.insert);
+ $(window).bind('unload', function() {
+ if (ii.pop && !ii.pop.closed) ii.pop.close();
+ });
+};
+
+//insert html at cursor position
+ii.insertAtCursor = function (field, txt, type) {
+ field.focus();
+ if ('undefined' != typeof(field.selectionStart)) {
+ if (type == 'link' && (field.selectionEnd-field.selectionStart)) {
+ txt = txt.split('">')[0] +'">'+ field.value.substring(field.selectionStart, field.selectionEnd) +'';
+ }
+ field.value = field.value.substring(0, field.selectionStart) + txt + field.value.substring(field.selectionEnd, field.value.length);
+ }
+ else if (document.selection) {
+ if (type == 'link' && document.selection.createRange().text.length) {
+ txt = txt.split('">')[0] +'">'+ document.selection.createRange().text +'';
+ }
+ document.selection.createRange().text = txt;
+ }
+ else {
+ field.value += txt;
+ }
+};
+
+//sendTo function
+ii.insert = function (file, win) {
+ var type = ii.activeType == 'link' ? 'link' : (file.width ? 'image' : 'link');
+ var html = type == 'image' ? (' ') : (''+ file.name +' ('+ file.size +') ');
+ ii.activeType = null;
+ win.blur();
+ ii.insertAtCursor(ii.activeTextarea, html, type);
+};
+
+})(jQuery);
\ No newline at end of file
diff --git a/sites/all/modules/imce/js/jquery.form.js b/sites/all/modules/imce/js/jquery.form.js
new file mode 100644
index 0000000..b750db6
--- /dev/null
+++ b/sites/all/modules/imce/js/jquery.form.js
@@ -0,0 +1,31 @@
+/*!
+ * jQuery Form Plugin
+ * version: 3.17 (25-SEP-2012)
+ * @requires jQuery v1.3.2 or later
+ */
+(function(c){'use strict';function v(a){var d=a.data;a.isDefaultPrevented()||(a.preventDefault(),c(a.target).ajaxSubmit(d))}function y(a){var d=a.target,g=c(d);if(!g.is(":submit,input:image")){d=g.closest(":submit");if(0===d.length)return;d=d[0]}var f=this;f.clk=d;"image"==d.type&&(void 0!==a.offsetX?(f.clk_x=a.offsetX,f.clk_y=a.offsetY):"function"==typeof c.fn.offset?(g=g.offset(),f.clk_x=a.pageX-g.left,f.clk_y=a.pageY-g.top):(f.clk_x=a.pageX-d.offsetLeft,f.clk_y=a.pageY-d.offsetTop));setTimeout(function(){f.clk=
+f.clk_x=f.clk_y=null},100)}function s(){if(c.fn.ajaxSubmit.debug){var a="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(a):window.opera&&window.opera.postError&&window.opera.postError(a)}}var x,z;x=void 0!==c(" ").get(0).files;z=void 0!==window.FormData;c.fn.ajaxSubmit=function(a){function d(b){b=c.param(b,a.traditional).replace(/\+/g," ").split("&");var f=b.length,h=[],d,e;for(d=0;d').val(e.extraData[n].value).appendTo(d)[0]):
+p.push(c(' ').val(e.extraData[n]).appendTo(d)[0]));e.iframeTarget||(r.appendTo("body"),q.attachEvent?q.attachEvent("onload",g):q.addEventListener("load",g,!1));setTimeout(a,15);d.submit.call?d.submit():document.createElement("form").submit.call(d)}finally{d.action=k,d.target=b,d.enctype=l,c(p).remove()}}function g(a){if(!k.aborted&&!C){try{t=q.contentWindow?q.contentWindow.document:q.contentDocument?q.contentDocument:q.document}catch(b){s("cannot access response document: ",
+b),a=x}if(a===y&&k)k.abort("timeout");else if(a==x&&k)k.abort("server abort");else if(t&&t.location.href!=e.iframeSrc||w){q.detachEvent?q.detachEvent("onload",g):q.removeEventListener("load",g,!1);a="success";var d;try{if(w)throw"timeout";var f="xml"==e.dataType||t.XMLDocument||c.isXMLDoc(t);s("isXml="+f);if(!f&&window.opera&&(null===t.body||!t.body.innerHTML)&&--E){s("requeing onLoad callback, DOM not available");setTimeout(g,250);return}var h=t.body?t.body:t.documentElement;k.responseText=h?h.innerHTML:
+null;k.responseXML=t.XMLDocument?t.XMLDocument:t;f&&(e.dataType="xml");k.getResponseHeader=function(a){return{"content-type":e.dataType}[a.toLowerCase()]};h&&(k.status=Number(h.getAttribute("status"))||k.status,k.statusText=h.getAttribute("statusText")||k.statusText);var m=(e.dataType||"").toLowerCase(),n=/(json|script|text)/.test(m);if(n||e.textarea){var p=t.getElementsByTagName("textarea")[0];if(p)k.responseText=p.value,k.status=Number(p.getAttribute("status"))||k.status,k.statusText=p.getAttribute("statusText")||
+k.statusText;else if(n){var u=t.getElementsByTagName("pre")[0],A=t.getElementsByTagName("body")[0];u?k.responseText=u.textContent?u.textContent:u.innerText:A&&(k.responseText=A.textContent?A.textContent:A.innerText)}}else"xml"==m&&!k.responseXML&&k.responseText&&(k.responseXML=F(k.responseText));try{z=G(k,m,e)}catch(D){a="parsererror",k.error=d=D||a}}catch(B){s("error caught: ",B),a="error",k.error=d=B||a}k.aborted&&(s("upload aborted"),a=null);k.status&&(a=200<=k.status&&300>k.status||304===k.status?
+"success":"error");"success"===a?(e.success&&e.success.call(e.context,z,"success",k),l&&c.event.trigger("ajaxSuccess",[k,e])):a&&(void 0===d&&(d=k.statusText),e.error&&e.error.call(e.context,k,a,d),l&&c.event.trigger("ajaxError",[k,e,d]));l&&c.event.trigger("ajaxComplete",[k,e]);l&&!--c.active&&c.event.trigger("ajaxStop");e.complete&&e.complete.call(e.context,k,a);C=!0;e.timeout&&clearTimeout(v);setTimeout(function(){e.iframeTarget||r.remove();k.responseXML=null},100)}}}var d=n[0],e,l,m,r,q,k,u,w,
+v;if(b)for(b=0;b '),r.css({position:"absolute",top:"-1000px",left:"-1000px"}));q=r[0];k={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(a){var b=
+"timeout"===a?"timeout":"aborted";s("aborting upload... "+b);this.aborted=1;try{q.contentWindow.document.execCommand&&q.contentWindow.document.execCommand("Stop")}catch(d){}q.src=e.iframeSrc;k.error=b;e.error&&e.error.call(e.context,k,b,a);l&&c.event.trigger("ajaxError",[k,e,b]);e.complete&&e.complete.call(e.context,k,b)}};(l=e.global)&&0===c.active++&&c.event.trigger("ajaxStart");l&&c.event.trigger("ajaxSend",[k,e]);if(e.beforeSend&&!1===e.beforeSend.call(e.context,k,e))e.global&&c.active--;else if(!k.aborted){(b=
+d.clk)&&(u=b.name)&&!b.disabled&&(e.extraData=e.extraData||{},e.extraData[u]=b.value,"image"==b.type&&(e.extraData[u+".x"]=d.clk_x,e.extraData[u+".y"]=d.clk_y));var y=1,x=2;b=c("meta[name=csrf-token]").attr("content");(u=c("meta[name=csrf-param]").attr("content"))&&b&&(e.extraData=e.extraData||{},e.extraData[u]=b);e.forceSync?f():setTimeout(f,10);var z,t,E=50,C,F=c.parseXML||function(a,b){window.ActiveXObject?(b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)):b=(new DOMParser).parseFromString(a,
+"text/xml");return b&&b.documentElement&&"parsererror"!=b.documentElement.nodeName?b:null},H=c.parseJSON||function(a){return window.eval("("+a+")")},G=function(a,b,e){var d=a.getResponseHeader("content-type")||"",f="xml"===b||!b&&0<=d.indexOf("xml");a=f?a.responseXML:a.responseText;f&&"parsererror"===a.documentElement.nodeName&&c.error&&c.error("parsererror");e&&e.dataFilter&&(a=e.dataFilter(a,b));"string"===typeof a&&("json"===b||!b&&0<=d.indexOf("json")?a=H(a):("script"===b||!b&&0<=d.indexOf("javascript"))&&
+c.globalEval(a));return a}}}if(!this.length)return s("ajaxSubmit: skipping submit process - no element selected"),this;var h,b,n=this;a?"function"===typeof a&&(a={success:a}):a={};h=a.type||n[0].method;b=a.url||n[0].action;(b=(b="string"===typeof b?c.trim(b):"")||window.location.href||"")&&(b=(b.match(/^([^#]+)/)||[])[1]);a=c.extend(!0,{url:b,success:c.ajaxSettings.success,type:h||c.ajaxSettings.type,iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},a);b={};this.trigger("form-pre-serialize",
+[this,a,b]);if(b.veto)return s("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(a.beforeSerialize&&!1===a.beforeSerialize(this,a))return s("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var m=a.traditional;void 0===m&&(m=c.ajaxSettings.traditional);var p=[],l,r=this.formToArray(a.semantic,p);a.data&&(a.extraData=a.data,l=c.param(a.data,m));if(a.beforeSubmit&&!1===a.beforeSubmit(r,this,a))return s("ajaxSubmit: submit aborted via beforeSubmit callback"),this;this.trigger("form-submit-validate",
+[r,this,a,b]);if(b.veto)return s("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;b=c.param(r,m);l&&(b=b?b+"&"+l:l);"GET"==a.type.toUpperCase()?(a.url+=(0<=a.url.indexOf("?")?"&":"?")+b,a.data=null):a.data=b;var w=[];a.resetForm&&w.push(function(){n.resetForm()});a.clearForm&&w.push(function(){n.clearForm(a.includeHidden)});if(!a.dataType&&a.target){var v=a.success||function(){};w.push(function(b){var d=a.replaceTarget?"replaceWith":"html";c(a.target)[d](b).each(v,arguments)})}else a.success&&
+w.push(a.success);a.success=function(b,c,d){for(var f=a.context||this,e=0,g=w.length;eb)return null;for(var g=[],h=a.options,n=(f="select-one"==f)?b+1:h.length,b=f?b:0;b
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $imce_ref)); /* see imce-file-list-tpl.php */?>
+
+
+
''. count($imce['files']) .' ',
+ '!dirsize' => ''. format_size($imce['dirsize']) .' ',
+ '!quota' => ''. ($imce['quota'] ? format_size($imce['quota']) : ($imce['tuquota'] ? format_size($imce['tuquota']) : t('unlimited quota'))) .' '
+ )); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sites/all/modules/imce/tpl/imce-file-list.tpl.php b/sites/all/modules/imce/tpl/imce-file-list.tpl.php
new file mode 100644
index 0000000..189eed4
--- /dev/null
+++ b/sites/all/modules/imce/tpl/imce-file-list.tpl.php
@@ -0,0 +1,25 @@
+
+
+ $file) {?>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sites/all/modules/imce/tpl/imce-page.tpl.php b/sites/all/modules/imce/tpl/imce-page.tpl.php
new file mode 100644
index 0000000..cfe2185
--- /dev/null
+++ b/sites/all/modules/imce/tpl/imce-page.tpl.php
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sites/default/modules/features/popsu_actualites/popsu_actualites.features.field.inc b/sites/default/modules/features/popsu_actualites/popsu_actualites.features.field.inc
deleted file mode 100644
index f53fc7e..0000000
--- a/sites/default/modules/features/popsu_actualites/popsu_actualites.features.field.inc
+++ /dev/null
@@ -1,426 +0,0 @@
- array(
- 'active' => '1',
- 'cardinality' => '1',
- 'deleted' => '0',
- 'entity_types' => array(),
- 'field_name' => 'field_popsu_actu_body',
- 'foreign keys' => array(
- 'format' => array(
- 'columns' => array(
- 'format' => 'format',
- ),
- 'table' => 'filter_format',
- ),
- ),
- 'indexes' => array(
- 'format' => array(
- 0 => 'format',
- ),
- ),
- 'locked' => '0',
- 'module' => 'text',
- 'settings' => array(),
- 'translatable' => '0',
- 'type' => 'text_with_summary',
- ),
- 'field_instance' => array(
- 'bundle' => 'popsu_actu',
- 'default_value' => NULL,
- 'deleted' => '0',
- 'description' => '',
- 'display' => array(
- 'default' => array(
- 'label' => 'above',
- 'module' => 'text',
- 'settings' => array(),
- 'type' => 'text_default',
- 'weight' => 1,
- ),
- 'teaser' => array(
- 'label' => 'above',
- 'settings' => array(),
- 'type' => 'hidden',
- 'weight' => 0,
- ),
- ),
- 'entity_type' => 'node',
- 'field_name' => 'field_popsu_actu_body',
- 'label' => 'Texte de l\'actualité',
- 'required' => 0,
- 'settings' => array(
- 'display_summary' => 0,
- 'text_processing' => '1',
- 'user_register_form' => FALSE,
- ),
- 'widget' => array(
- 'active' => 1,
- 'module' => 'text',
- 'settings' => array(
- 'rows' => '20',
- 'summary_rows' => 5,
- ),
- 'type' => 'text_textarea_with_summary',
- 'weight' => '12',
- ),
- ),
- );
-
- // Exported field: 'node-popsu_actu-field_popsu_actu_date'.
- $fields['node-popsu_actu-field_popsu_actu_date'] = array(
- 'field_config' => array(
- 'active' => '1',
- 'cardinality' => '1',
- 'deleted' => '0',
- 'entity_types' => array(),
- 'field_name' => 'field_popsu_actu_date',
- 'foreign keys' => array(),
- 'indexes' => array(),
- 'locked' => '0',
- 'module' => 'date',
- 'settings' => array(
- 'cache_count' => '4',
- 'cache_enabled' => 0,
- 'granularity' => array(
- 'day' => 'day',
- 'hour' => 0,
- 'minute' => 0,
- 'month' => 'month',
- 'second' => 0,
- 'year' => 'year',
- ),
- 'timezone_db' => '',
- 'todate' => '',
- 'tz_handling' => 'none',
- ),
- 'translatable' => '0',
- 'type' => 'datetime',
- ),
- 'field_instance' => array(
- 'bundle' => 'popsu_actu',
- 'deleted' => '0',
- 'description' => 'Si vous souhaitez retarder la publication de cette actualité, choisissez une date dans le futur.',
- 'display' => array(
- 'default' => array(
- 'label' => 'above',
- 'module' => 'date',
- 'settings' => array(
- 'format_type' => 'long',
- 'fromto' => 'both',
- 'multiple_from' => '',
- 'multiple_number' => '',
- 'multiple_to' => '',
- ),
- 'type' => 'date_default',
- 'weight' => 2,
- ),
- 'teaser' => array(
- 'label' => 'above',
- 'settings' => array(),
- 'type' => 'hidden',
- 'weight' => 0,
- ),
- ),
- 'entity_type' => 'node',
- 'field_name' => 'field_popsu_actu_date',
- 'label' => 'Date de début de publication de l\'actualité sur la page d\'accueil',
- 'required' => 1,
- 'settings' => array(
- 'default_value' => 'now',
- 'default_value2' => 'same',
- 'default_value_code' => '',
- 'default_value_code2' => '',
- 'user_register_form' => FALSE,
- ),
- 'widget' => array(
- 'active' => 1,
- 'module' => 'date',
- 'settings' => array(
- 'increment' => '15',
- 'input_format' => 'd/m/Y - H:i:s',
- 'input_format_custom' => '',
- 'label_position' => 'above',
- 'text_parts' => array(),
- 'year_range' => '-3:+3',
- ),
- 'type' => 'date_popup',
- 'weight' => '8',
- ),
- ),
- );
-
- // Exported field: 'node-popsu_actu-field_popsu_actu_date_fin'.
- $fields['node-popsu_actu-field_popsu_actu_date_fin'] = array(
- 'field_config' => array(
- 'active' => '1',
- 'cardinality' => '1',
- 'deleted' => '0',
- 'entity_types' => array(),
- 'field_name' => 'field_popsu_actu_date_fin',
- 'foreign keys' => array(),
- 'indexes' => array(),
- 'locked' => '0',
- 'module' => 'date',
- 'settings' => array(
- 'cache_count' => '4',
- 'cache_enabled' => 0,
- 'granularity' => array(
- 'day' => 'day',
- 'hour' => 0,
- 'minute' => 0,
- 'month' => 'month',
- 'second' => 0,
- 'year' => 'year',
- ),
- 'timezone_db' => '',
- 'todate' => '',
- 'tz_handling' => 'none',
- ),
- 'translatable' => '0',
- 'type' => 'datetime',
- ),
- 'field_instance' => array(
- 'bundle' => 'popsu_actu',
- 'deleted' => '0',
- 'description' => 'Par défaut, les actualités restent 30 jours sur la page d\'accueil. Si vous souhaitez rallonger ce délai, modifier cette date.',
- 'display' => array(
- 'default' => array(
- 'label' => 'above',
- 'module' => 'date',
- 'settings' => array(
- 'format_type' => 'long',
- 'fromto' => 'both',
- 'multiple_from' => '',
- 'multiple_number' => '',
- 'multiple_to' => '',
- ),
- 'type' => 'date_default',
- 'weight' => 5,
- ),
- 'teaser' => array(
- 'label' => 'above',
- 'settings' => array(),
- 'type' => 'hidden',
- 'weight' => 0,
- ),
- ),
- 'entity_type' => 'node',
- 'field_name' => 'field_popsu_actu_date_fin',
- 'label' => 'Date de fin de publication de l\'actualité sur la page d\'accueil',
- 'required' => 1,
- 'settings' => array(
- 'default_value' => 'strtotime',
- 'default_value2' => 'same',
- 'default_value_code' => '+ 30 days',
- 'default_value_code2' => '',
- 'user_register_form' => FALSE,
- ),
- 'widget' => array(
- 'active' => 1,
- 'module' => 'date',
- 'settings' => array(
- 'increment' => '15',
- 'input_format' => 'd/m/Y - H:i:s',
- 'input_format_custom' => '',
- 'label_position' => 'above',
- 'text_parts' => array(),
- 'year_range' => '-3:+3',
- ),
- 'type' => 'date_popup',
- 'weight' => '9',
- ),
- ),
- );
-
- // Exported field: 'node-popsu_actu-field_popsu_actu_image'.
- $fields['node-popsu_actu-field_popsu_actu_image'] = array(
- 'field_config' => array(
- 'active' => '1',
- 'cardinality' => '1',
- 'deleted' => '0',
- 'entity_types' => array(),
- 'field_name' => 'field_popsu_actu_image',
- 'foreign keys' => array(
- 'fid' => array(
- 'columns' => array(
- 'fid' => 'fid',
- ),
- 'table' => 'file_managed',
- ),
- ),
- 'indexes' => array(
- 'fid' => array(
- 0 => 'fid',
- ),
- ),
- 'locked' => '0',
- 'module' => 'image',
- 'settings' => array(
- 'default_image' => 0,
- 'uri_scheme' => 'public',
- ),
- 'translatable' => '0',
- 'type' => 'image',
- ),
- 'field_instance' => array(
- 'bundle' => 'popsu_actu',
- 'deleted' => '0',
- 'description' => '',
- 'display' => array(
- 'default' => array(
- 'label' => 'above',
- 'module' => 'image',
- 'settings' => array(
- 'image_link' => '',
- 'image_style' => '',
- ),
- 'type' => 'image',
- 'weight' => 3,
- ),
- 'teaser' => array(
- 'label' => 'above',
- 'settings' => array(),
- 'type' => 'hidden',
- 'weight' => 0,
- ),
- ),
- 'entity_type' => 'node',
- 'field_name' => 'field_popsu_actu_image',
- 'label' => 'Image de l\'actualité',
- 'required' => 0,
- 'settings' => array(
- 'alt_field' => 0,
- 'default_image' => 0,
- 'file_directory' => '',
- 'file_extensions' => 'png gif jpg jpeg',
- 'filefield_paths' => array(
- 'active_updating' => 0,
- 'file_name' => array(
- 'options' => array(
- 'pathauto' => 1,
- 'transliterate' => 1,
- ),
- 'value' => '[file:ffp-name-only-original].[file:ffp-extension-original]',
- ),
- 'file_path' => array(
- 'options' => array(
- 'pathauto' => 1,
- 'transliterate' => 1,
- ),
- 'value' => 'nodes/[node:content-type]/[node:nid]/image',
- ),
- 'retroactive_update' => 0,
- ),
- 'max_filesize' => '',
- 'max_resolution' => '',
- 'min_resolution' => '',
- 'title_field' => 1,
- 'user_register_form' => FALSE,
- ),
- 'widget' => array(
- 'active' => 1,
- 'module' => 'image',
- 'settings' => array(
- 'preview_image_style' => 'thumbnail',
- 'progress_indicator' => 'throbber',
- ),
- 'type' => 'image_image',
- 'weight' => '4',
- ),
- ),
- );
-
- // Exported field: 'node-popsu_actu-field_popsu_actu_soustitre'.
- $fields['node-popsu_actu-field_popsu_actu_soustitre'] = array(
- 'field_config' => array(
- 'active' => '1',
- 'cardinality' => '1',
- 'deleted' => '0',
- 'entity_types' => array(),
- 'field_name' => 'field_popsu_actu_soustitre',
- 'foreign keys' => array(
- 'format' => array(
- 'columns' => array(
- 'format' => 'format',
- ),
- 'table' => 'filter_format',
- ),
- ),
- 'indexes' => array(
- 'format' => array(
- 0 => 'format',
- ),
- ),
- 'locked' => '0',
- 'module' => 'text',
- 'settings' => array(
- 'max_length' => '255',
- ),
- 'translatable' => '0',
- 'type' => 'text',
- ),
- 'field_instance' => array(
- 'bundle' => 'popsu_actu',
- 'default_value' => NULL,
- 'deleted' => '0',
- 'description' => '',
- 'display' => array(
- 'default' => array(
- 'label' => 'above',
- 'module' => 'text',
- 'settings' => array(),
- 'type' => 'text_default',
- 'weight' => 4,
- ),
- 'teaser' => array(
- 'label' => 'above',
- 'settings' => array(),
- 'type' => 'hidden',
- 'weight' => 0,
- ),
- ),
- 'entity_type' => 'node',
- 'field_name' => 'field_popsu_actu_soustitre',
- 'label' => 'Sous-titre de l\'actualité',
- 'required' => 0,
- 'settings' => array(
- 'text_processing' => '0',
- 'user_register_form' => FALSE,
- ),
- 'widget' => array(
- 'active' => 1,
- 'module' => 'text',
- 'settings' => array(
- 'size' => '60',
- ),
- 'type' => 'text_textfield',
- 'weight' => '7',
- ),
- ),
- );
-
- // Translatables
- // Included for use with string extractors like potx.
- t('Date de début de publication de l\'actualité sur la page d\'accueil');
- t('Date de fin de publication de l\'actualité sur la page d\'accueil');
- t('Image de l\'actualité');
- t('Par défaut, les actualités restent 30 jours sur la page d\'accueil. Si vous souhaitez rallonger ce délai, modifier cette date.');
- t('Si vous souhaitez retarder la publication de cette actualité, choisissez une date dans le futur.');
- t('Sous-titre de l\'actualité');
- t('Texte de l\'actualité');
-
- return $fields;
-}
diff --git a/sites/default/modules/features/popsu_actualites/popsu_actualites.features.field_base.inc b/sites/default/modules/features/popsu_actualites/popsu_actualites.features.field_base.inc
new file mode 100644
index 0000000..b51bd37
--- /dev/null
+++ b/sites/default/modules/features/popsu_actualites/popsu_actualites.features.field_base.inc
@@ -0,0 +1,182 @@
+ 1,
+ 'cardinality' => -1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_actu_attachment',
+ 'indexes' => array(
+ 'fid' => array(
+ 0 => 'fid',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'file',
+ 'settings' => array(
+ 'display_default' => 0,
+ 'display_field' => 0,
+ 'uri_scheme' => 'public',
+ ),
+ 'translatable' => 0,
+ 'type' => 'file',
+ );
+
+ // Exported field_base: 'field_popsu_actu_body'.
+ $field_bases['field_popsu_actu_body'] = array(
+ 'active' => 1,
+ 'cardinality' => 1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_actu_body',
+ 'indexes' => array(
+ 'format' => array(
+ 0 => 'format',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'text',
+ 'settings' => array(),
+ 'translatable' => 0,
+ 'type' => 'text_with_summary',
+ );
+
+ // Exported field_base: 'field_popsu_actu_date'.
+ $field_bases['field_popsu_actu_date'] = array(
+ 'active' => 1,
+ 'cardinality' => 1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_actu_date',
+ 'indexes' => array(),
+ 'locked' => 0,
+ 'module' => 'date',
+ 'settings' => array(
+ 'cache_count' => 4,
+ 'cache_enabled' => 0,
+ 'granularity' => array(
+ 'day' => 'day',
+ 'hour' => 0,
+ 'minute' => 0,
+ 'month' => 'month',
+ 'second' => 0,
+ 'year' => 'year',
+ ),
+ 'timezone_db' => '',
+ 'todate' => '',
+ 'tz_handling' => 'none',
+ ),
+ 'translatable' => 0,
+ 'type' => 'datetime',
+ );
+
+ // Exported field_base: 'field_popsu_actu_date_fin'.
+ $field_bases['field_popsu_actu_date_fin'] = array(
+ 'active' => 1,
+ 'cardinality' => 1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_actu_date_fin',
+ 'indexes' => array(),
+ 'locked' => 0,
+ 'module' => 'date',
+ 'settings' => array(
+ 'cache_count' => 4,
+ 'cache_enabled' => 0,
+ 'granularity' => array(
+ 'day' => 'day',
+ 'hour' => 0,
+ 'minute' => 0,
+ 'month' => 'month',
+ 'second' => 0,
+ 'year' => 'year',
+ ),
+ 'timezone_db' => '',
+ 'todate' => '',
+ 'tz_handling' => 'none',
+ ),
+ 'translatable' => 0,
+ 'type' => 'datetime',
+ );
+
+ // Exported field_base: 'field_popsu_actu_enhome'.
+ $field_bases['field_popsu_actu_enhome'] = array(
+ 'active' => 1,
+ 'cardinality' => 1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_actu_enhome',
+ 'indexes' => array(
+ 'value' => array(
+ 0 => 'value',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'list',
+ 'settings' => array(
+ 'allowed_values' => array(
+ 0 => '',
+ 1 => 'Publié sur la page d\'accueil',
+ ),
+ 'allowed_values_function' => '',
+ ),
+ 'translatable' => 0,
+ 'type' => 'list_boolean',
+ );
+
+ // Exported field_base: 'field_popsu_actu_image'.
+ $field_bases['field_popsu_actu_image'] = array(
+ 'active' => 1,
+ 'cardinality' => 1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_actu_image',
+ 'indexes' => array(
+ 'fid' => array(
+ 0 => 'fid',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'image',
+ 'settings' => array(
+ 'default_image' => 0,
+ 'uri_scheme' => 'public',
+ ),
+ 'translatable' => 0,
+ 'type' => 'image',
+ );
+
+ // Exported field_base: 'field_popsu_actu_soustitre'.
+ $field_bases['field_popsu_actu_soustitre'] = array(
+ 'active' => 1,
+ 'cardinality' => 1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_actu_soustitre',
+ 'indexes' => array(
+ 'format' => array(
+ 0 => 'format',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'text',
+ 'settings' => array(
+ 'max_length' => 255,
+ ),
+ 'translatable' => 0,
+ 'type' => 'text',
+ );
+
+ return $field_bases;
+}
diff --git a/sites/default/modules/features/popsu_actualites/popsu_actualites.features.field_instance.inc b/sites/default/modules/features/popsu_actualites/popsu_actualites.features.field_instance.inc
new file mode 100644
index 0000000..1769c8b
--- /dev/null
+++ b/sites/default/modules/features/popsu_actualites/popsu_actualites.features.field_instance.inc
@@ -0,0 +1,404 @@
+ 'popsu_actu',
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'above',
+ 'module' => 'file',
+ 'settings' => array(),
+ 'type' => 'file_default',
+ 'weight' => 6,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_actu_attachment',
+ 'label' => 'Pièces jointes à cette actualité',
+ 'required' => 0,
+ 'settings' => array(
+ 'description_field' => 1,
+ 'file_directory' => '',
+ 'file_extensions' => 'txt pdf zip rar xls doc xlsx docx ppt pptx',
+ 'filefield_paths' => array(
+ 'active_updating' => 0,
+ 'file_name' => array(
+ 'options' => array(
+ 'pathauto' => 1,
+ 'transliterate' => 1,
+ ),
+ 'value' => '[file:ffp-name-only-original].[file:ffp-extension-original]',
+ ),
+ 'file_path' => array(
+ 'options' => array(
+ 'pathauto' => 1,
+ 'transliterate' => 1,
+ ),
+ 'value' => 'nodes/[node:content-type]/[node:nid]/files',
+ ),
+ 'retroactive_update' => 0,
+ ),
+ 'max_filesize' => '',
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'file',
+ 'settings' => array(
+ 'insert' => 0,
+ 'insert_absolute' => FALSE,
+ 'insert_class' => '',
+ 'insert_default' => array(
+ 0 => 'auto',
+ ),
+ 'insert_styles' => array(
+ 0 => 'auto',
+ ),
+ 'insert_width' => '',
+ 'progress_indicator' => 'bar',
+ ),
+ 'type' => 'file_generic',
+ 'weight' => 3,
+ ),
+ );
+
+ // Exported field_instance: 'node-popsu_actu-field_popsu_actu_body'.
+ $field_instances['node-popsu_actu-field_popsu_actu_body'] = array(
+ 'bundle' => 'popsu_actu',
+ 'default_value' => NULL,
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'module' => 'text',
+ 'settings' => array(),
+ 'type' => 'text_default',
+ 'weight' => 1,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_actu_body',
+ 'label' => 'Texte de l\'actualité',
+ 'required' => 0,
+ 'settings' => array(
+ 'display_summary' => 0,
+ 'text_processing' => 1,
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'text',
+ 'settings' => array(
+ 'rows' => 20,
+ 'summary_rows' => 5,
+ ),
+ 'type' => 'text_textarea_with_summary',
+ 'weight' => 12,
+ ),
+ );
+
+ // Exported field_instance: 'node-popsu_actu-field_popsu_actu_date'.
+ $field_instances['node-popsu_actu-field_popsu_actu_date'] = array(
+ 'bundle' => 'popsu_actu',
+ 'deleted' => 0,
+ 'description' => 'Si vous souhaitez retarder la publication de cette actualité, choisissez une date dans le futur.',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'module' => 'date',
+ 'settings' => array(
+ 'format_type' => 'long',
+ 'fromto' => 'both',
+ 'multiple_from' => '',
+ 'multiple_number' => '',
+ 'multiple_to' => '',
+ ),
+ 'type' => 'date_default',
+ 'weight' => 2,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_actu_date',
+ 'label' => 'Date de début de validité de l\'actualité',
+ 'required' => 1,
+ 'settings' => array(
+ 'default_value' => 'now',
+ 'default_value2' => 'same',
+ 'default_value_code' => '',
+ 'default_value_code2' => '',
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'date',
+ 'settings' => array(
+ 'increment' => 15,
+ 'input_format' => 'd/m/Y - H:i:s',
+ 'input_format_custom' => '',
+ 'label_position' => 'above',
+ 'text_parts' => array(),
+ 'year_range' => '-3:+3',
+ ),
+ 'type' => 'date_popup',
+ 'weight' => 9,
+ ),
+ );
+
+ // Exported field_instance: 'node-popsu_actu-field_popsu_actu_date_fin'.
+ $field_instances['node-popsu_actu-field_popsu_actu_date_fin'] = array(
+ 'bundle' => 'popsu_actu',
+ 'deleted' => 0,
+ 'description' => 'Par défaut, les actualités restent 30 jours sur la page d\'accueil. Si vous souhaitez rallonger ce délai, modifier cette date.',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'module' => 'date',
+ 'settings' => array(
+ 'format_type' => 'long',
+ 'fromto' => 'both',
+ 'multiple_from' => '',
+ 'multiple_number' => '',
+ 'multiple_to' => '',
+ ),
+ 'type' => 'date_default',
+ 'weight' => 5,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_actu_date_fin',
+ 'label' => 'Date de fin de validité de l\'actualité',
+ 'required' => 1,
+ 'settings' => array(
+ 'default_value' => 'strtotime',
+ 'default_value2' => 'same',
+ 'default_value_code' => '+ 30 days',
+ 'default_value_code2' => '',
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'date',
+ 'settings' => array(
+ 'increment' => 15,
+ 'input_format' => 'd/m/Y - H:i:s',
+ 'input_format_custom' => '',
+ 'label_position' => 'above',
+ 'text_parts' => array(),
+ 'year_range' => '-3:+3',
+ ),
+ 'type' => 'date_popup',
+ 'weight' => 10,
+ ),
+ );
+
+ // Exported field_instance: 'node-popsu_actu-field_popsu_actu_enhome'.
+ $field_instances['node-popsu_actu-field_popsu_actu_enhome'] = array(
+ 'bundle' => 'popsu_actu',
+ 'default_value' => array(
+ 0 => array(
+ 'value' => 1,
+ ),
+ ),
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 7,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_actu_enhome',
+ 'label' => 'Publier sur la page d\'accueil',
+ 'required' => 0,
+ 'settings' => array(
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'options',
+ 'settings' => array(
+ 'display_label' => 0,
+ ),
+ 'type' => 'options_onoff',
+ 'weight' => 8,
+ ),
+ );
+
+ // Exported field_instance: 'node-popsu_actu-field_popsu_actu_image'.
+ $field_instances['node-popsu_actu-field_popsu_actu_image'] = array(
+ 'bundle' => 'popsu_actu',
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'module' => 'image',
+ 'settings' => array(
+ 'image_link' => '',
+ 'image_style' => '',
+ ),
+ 'type' => 'image',
+ 'weight' => 3,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_actu_image',
+ 'label' => 'Image de l\'actualité',
+ 'required' => 0,
+ 'settings' => array(
+ 'alt_field' => 0,
+ 'default_image' => 0,
+ 'file_directory' => '',
+ 'file_extensions' => 'png gif jpg jpeg',
+ 'filefield_paths' => array(
+ 'active_updating' => 0,
+ 'file_name' => array(
+ 'options' => array(
+ 'pathauto' => 1,
+ 'transliterate' => 1,
+ ),
+ 'value' => '[file:ffp-name-only-original].[file:ffp-extension-original]',
+ ),
+ 'file_path' => array(
+ 'options' => array(
+ 'pathauto' => 1,
+ 'transliterate' => 1,
+ ),
+ 'value' => 'nodes/[node:content-type]/[node:nid]/image',
+ ),
+ 'retroactive_update' => 0,
+ ),
+ 'max_filesize' => '',
+ 'max_resolution' => '',
+ 'min_resolution' => '',
+ 'title_field' => 1,
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'image',
+ 'settings' => array(
+ 'insert' => 0,
+ 'insert_absolute' => FALSE,
+ 'insert_class' => '',
+ 'insert_default' => array(
+ 0 => 'auto',
+ ),
+ 'insert_styles' => array(
+ 0 => 'auto',
+ ),
+ 'insert_width' => '',
+ 'preview_image_style' => 'thumbnail',
+ 'progress_indicator' => 'throbber',
+ ),
+ 'type' => 'image_image',
+ 'weight' => 4,
+ ),
+ );
+
+ // Exported field_instance: 'node-popsu_actu-field_popsu_actu_soustitre'.
+ $field_instances['node-popsu_actu-field_popsu_actu_soustitre'] = array(
+ 'bundle' => 'popsu_actu',
+ 'default_value' => NULL,
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'module' => 'text',
+ 'settings' => array(),
+ 'type' => 'text_default',
+ 'weight' => 4,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_actu_soustitre',
+ 'label' => 'Sous-titre de l\'actualité',
+ 'required' => 0,
+ 'settings' => array(
+ 'text_processing' => 0,
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'text',
+ 'settings' => array(
+ 'size' => 60,
+ ),
+ 'type' => 'text_textfield',
+ 'weight' => 7,
+ ),
+ );
+
+ // Translatables
+ // Included for use with string extractors like potx.
+ t('Date de début de validité de l\'actualité');
+ t('Date de fin de validité de l\'actualité');
+ t('Image de l\'actualité');
+ t('Par défaut, les actualités restent 30 jours sur la page d\'accueil. Si vous souhaitez rallonger ce délai, modifier cette date.');
+ t('Pièces jointes à cette actualité');
+ t('Publier sur la page d\'accueil');
+ t('Si vous souhaitez retarder la publication de cette actualité, choisissez une date dans le futur.');
+ t('Sous-titre de l\'actualité');
+ t('Texte de l\'actualité');
+
+ return $field_instances;
+}
diff --git a/sites/default/modules/features/popsu_actualites/popsu_actualites.features.inc b/sites/default/modules/features/popsu_actualites/popsu_actualites.features.inc
index 7360562..ba7eec8 100644
--- a/sites/default/modules/features/popsu_actualites/popsu_actualites.features.inc
+++ b/sites/default/modules/features/popsu_actualites/popsu_actualites.features.inc
@@ -4,45 +4,22 @@
* popsu_actualites.features.inc
*/
-/**
- * Implements hook_block_class_features_default_class().
- */
-function popsu_actualites_block_class_features_default_class() {
- return array(
- 'views:actualites-block_1' => array(
- 'module' => 'views',
- 'delta' => 'actualites-block_1',
- 'css_classes' => 'left-nav-level-1',
- ),
- 'views:actualites-block_2' => array(
- 'module' => 'views',
- 'delta' => 'actualites-block_2',
- 'css_classes' => 'left-nav-level-1',
- ),
- );
-}
-
/**
* Implements hook_ctools_plugin_api().
*/
-function popsu_actualites_ctools_plugin_api() {
- list($module, $api) = func_get_args();
+function popsu_actualites_ctools_plugin_api($module = NULL, $api = NULL) {
if ($module == "boxes" && $api == "box") {
return array("version" => "1");
}
- list($module, $api) = func_get_args();
if ($module == "context" && $api == "context") {
return array("version" => "3");
}
- list($module, $api) = func_get_args();
if ($module == "field_group" && $api == "field_group") {
return array("version" => "1");
}
- list($module, $api) = func_get_args();
if ($module == "page_manager" && $api == "pages_default") {
return array("version" => "1");
}
- list($module, $api) = func_get_args();
if ($module == "strongarm" && $api == "strongarm") {
return array("version" => "1");
}
@@ -51,8 +28,8 @@ function popsu_actualites_ctools_plugin_api() {
/**
* Implements hook_views_api().
*/
-function popsu_actualites_views_api() {
- return array("version" => "3.0");
+function popsu_actualites_views_api($module = NULL, $api = NULL) {
+ return array("api" => "3.0");
}
/**
@@ -63,44 +40,30 @@ function popsu_actualites_image_default_styles() {
// Exported image style: popsu-actu-home.
$styles['popsu-actu-home'] = array(
- 'name' => 'popsu-actu-home',
+ 'label' => 'popsu-actu-home',
'effects' => array(
15 => array(
- 'label' => 'Mise à l’échelle et recadrage',
- 'help' => 'La mise à l\'échelle et le recadrage maintiendront les proportions originales de l\'image puis recadreront la dimension la plus large. C\'est très utile pour créer des vignettes carrées sans étirer les images.',
- 'effect callback' => 'image_scale_and_crop_effect',
- 'dimensions callback' => 'image_resize_dimensions',
- 'form callback' => 'image_resize_form',
- 'summary theme' => 'image_resize_summary',
- 'module' => 'image',
'name' => 'image_scale_and_crop',
'data' => array(
- 'width' => '206',
- 'height' => '156',
+ 'width' => 206,
+ 'height' => 156,
),
- 'weight' => '1',
+ 'weight' => 1,
),
),
);
// Exported image style: popsu-actu-listing.
$styles['popsu-actu-listing'] = array(
- 'name' => 'popsu-actu-listing',
+ 'label' => 'popsu-actu-listing',
'effects' => array(
16 => array(
- 'label' => 'Mise à l’échelle et recadrage',
- 'help' => 'La mise à l\'échelle et le recadrage maintiendront les proportions originales de l\'image puis recadreront la dimension la plus large. C\'est très utile pour créer des vignettes carrées sans étirer les images.',
- 'effect callback' => 'image_scale_and_crop_effect',
- 'dimensions callback' => 'image_resize_dimensions',
- 'form callback' => 'image_resize_form',
- 'summary theme' => 'image_resize_summary',
- 'module' => 'image',
'name' => 'image_scale_and_crop',
'data' => array(
- 'width' => '220',
- 'height' => '168',
+ 'width' => 220,
+ 'height' => 168,
),
- 'weight' => '1',
+ 'weight' => 1,
),
),
);
@@ -122,5 +85,6 @@ function popsu_actualites_node_info() {
'help' => '',
),
);
+ drupal_alter('node_info', $items);
return $items;
}
diff --git a/sites/default/modules/features/popsu_actualites/popsu_actualites.field_group.inc b/sites/default/modules/features/popsu_actualites/popsu_actualites.field_group.inc
index 7964b22..e54b3f7 100644
--- a/sites/default/modules/features/popsu_actualites/popsu_actualites.field_group.inc
+++ b/sites/default/modules/features/popsu_actualites/popsu_actualites.field_group.inc
@@ -26,7 +26,8 @@ function popsu_actualites_field_group_info() {
0 => 'field_popsu_actu_date',
1 => 'field_popsu_actu_soustitre',
2 => 'field_popsu_actu_date_fin',
- 3 => 'title',
+ 3 => 'field_popsu_actu_enhome',
+ 4 => 'title',
),
'format_type' => 'tab',
'format_settings' => array(
@@ -51,7 +52,7 @@ function popsu_actualites_field_group_info() {
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Image',
- 'weight' => '2',
+ 'weight' => '4',
'children' => array(
0 => 'field_popsu_actu_image',
),
diff --git a/sites/default/modules/features/popsu_actualites/popsu_actualites.info b/sites/default/modules/features/popsu_actualites/popsu_actualites.info
index 85298d4..051f58c 100644
--- a/sites/default/modules/features/popsu_actualites/popsu_actualites.info
+++ b/sites/default/modules/features/popsu_actualites/popsu_actualites.info
@@ -2,21 +2,17 @@ name = POPSU Actualités
description = POPSU - Type de contenu Colloques
core = 7.x
package = POPSU
-php = 5.2.4
version = 7.x-1.0-beta10
project = popsu_actualites
-dependencies[] = ctools
dependencies[] = date
dependencies[] = field_group
dependencies[] = filefield_paths
dependencies[] = image
+dependencies[] = list
dependencies[] = page_manager
dependencies[] = popsu_structure
dependencies[] = strongarm
-dependencies[] = views
dependencies[] = views_content
-features[block_class][] = views:actualites-block_1
-features[block_class][] = views:actualites-block_2
features[box][] = popsu_logo_popsuneutral
features[context][] = popsu-actualites-listing
features[context][] = popsu-actualites-node
@@ -27,15 +23,24 @@ features[ctools][] = field_group:field_group:1
features[ctools][] = page_manager:pages_default:1
features[ctools][] = strongarm:strongarm:1
features[ctools][] = views:views_default:3.0
-features[features_api][] = api:1
-features[field][] = node-popsu_actu-field_popsu_actu_body
-features[field][] = node-popsu_actu-field_popsu_actu_date
-features[field][] = node-popsu_actu-field_popsu_actu_date_fin
-features[field][] = node-popsu_actu-field_popsu_actu_image
-features[field][] = node-popsu_actu-field_popsu_actu_soustitre
+features[features_api][] = api:2
+features[field_base][] = field_popsu_actu_attachment
+features[field_base][] = field_popsu_actu_body
+features[field_base][] = field_popsu_actu_date
+features[field_base][] = field_popsu_actu_date_fin
+features[field_base][] = field_popsu_actu_enhome
+features[field_base][] = field_popsu_actu_image
+features[field_base][] = field_popsu_actu_soustitre
features[field_group][] = group_popsu_actu_basic|node|popsu_actu|form
features[field_group][] = group_popsu_actu_image|node|popsu_actu|form
features[field_group][] = group_popsu_actu_texte|node|popsu_actu|form
+features[field_instance][] = node-popsu_actu-field_popsu_actu_attachment
+features[field_instance][] = node-popsu_actu-field_popsu_actu_body
+features[field_instance][] = node-popsu_actu-field_popsu_actu_date
+features[field_instance][] = node-popsu_actu-field_popsu_actu_date_fin
+features[field_instance][] = node-popsu_actu-field_popsu_actu_enhome
+features[field_instance][] = node-popsu_actu-field_popsu_actu_image
+features[field_instance][] = node-popsu_actu-field_popsu_actu_soustitre
features[image][] = popsu-actu-home
features[image][] = popsu-actu-listing
features[node][] = popsu_actu
@@ -56,4 +61,7 @@ features[variable][] = page_title_type_popsu_actu
features[variable][] = page_title_type_popsu_actu_showfield
features[variable][] = pathauto_node_popsu_actu_pattern
features[variable][] = publishcontent_popsu_actu
+features[variable][] = xmlsitemap_settings_node_popsu_actu
features[views_view][] = actualites
+features_exclude[dependencies][views] = views
+features_exclude[dependencies][panels] = panels
diff --git a/sites/default/modules/features/popsu_actualites/popsu_actualites.pages_default.inc b/sites/default/modules/features/popsu_actualites/popsu_actualites.pages_default.inc
index f711e37..053ed25 100644
--- a/sites/default/modules/features/popsu_actualites/popsu_actualites.pages_default.inc
+++ b/sites/default/modules/features/popsu_actualites/popsu_actualites.pages_default.inc
@@ -61,230 +61,241 @@ function popsu_actualites_default_page_manager_handlers() {
);
$display->cache = array();
$display->title = '';
+ $display->uuid = 'd0d44175-6be3-49eb-957a-3bd9b1d9c38c';
+ $display->storage_type = 'page_manager';
+ $display->storage_id = 'node_view_panel_context_12';
$display->content = array();
$display->panels = array();
- $pane = new stdClass();
- $pane->pid = 'new-1';
- $pane->panel = 'footer';
- $pane->type = 'entity_field';
- $pane->subtype = 'node:field_popsu_actu_soustitre';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'label' => 'title',
- 'formatter' => 'text_default',
- 'delta_limit' => 0,
- 'delta_offset' => '0',
- 'delta_reversed' => FALSE,
- 'formatter_settings' => array(),
- 'context' => 'argument_entity_id:node_1',
- 'override_title' => 1,
- 'override_title_text' => '',
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array();
- $pane->extras = array();
- $pane->position = 0;
- $pane->locks = array();
- $display->content['new-1'] = $pane;
- $display->panels['footer'][0] = 'new-1';
- $pane = new stdClass();
- $pane->pid = 'new-2';
- $pane->panel = 'footer';
- $pane->type = 'entity_field';
- $pane->subtype = 'node:field_popsu_actu_date';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'label' => 'title',
- 'formatter' => 'date_default',
- 'delta_limit' => 0,
- 'delta_offset' => '0',
- 'delta_reversed' => FALSE,
- 'formatter_settings' => array(
- 'format_type' => 'popsu_yyyy_mm_dd',
- 'multiple_number' => '',
- 'multiple_from' => '',
- 'multiple_to' => '',
- 'fromto' => 'both',
- ),
- 'context' => 'argument_entity_id:node_1',
- 'override_title' => 1,
- 'override_title_text' => '',
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array();
- $pane->extras = array();
- $pane->position = 1;
- $pane->locks = array();
- $display->content['new-2'] = $pane;
- $display->panels['footer'][1] = 'new-2';
- $pane = new stdClass();
- $pane->pid = 'new-3';
- $pane->panel = 'footer';
- $pane->type = 'entity_field';
- $pane->subtype = 'node:field_popsu_actu_body';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'label' => 'title',
- 'formatter' => 'text_default',
- 'delta_limit' => 0,
- 'delta_offset' => '0',
- 'delta_reversed' => FALSE,
- 'formatter_settings' => array(),
- 'context' => 'argument_entity_id:node_1',
- 'override_title' => 1,
- 'override_title_text' => '',
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => '',
- 'css_class' => 'layout-64p',
- );
- $pane->extras = array();
- $pane->position = 2;
- $pane->locks = array();
- $display->content['new-3'] = $pane;
- $display->panels['footer'][2] = 'new-3';
- $pane = new stdClass();
- $pane->pid = 'new-4';
- $pane->panel = 'footer';
- $pane->type = 'views_panes';
- $pane->subtype = 'actualites-panel_pane_2';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'arguments' => array(
- 'nid' => '%node:nid',
- ),
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array();
- $pane->extras = array();
- $pane->position = 3;
- $pane->locks = array();
- $display->content['new-4'] = $pane;
- $display->panels['footer'][3] = 'new-4';
- $pane = new stdClass();
- $pane->pid = 'new-5';
- $pane->panel = 'footer';
- $pane->type = 'views_panes';
- $pane->subtype = 'actualites-panel_pane_3';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'arguments' => array(
- 'nid' => '%node:nid',
- ),
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array();
- $pane->extras = array();
- $pane->position = 4;
- $pane->locks = array();
- $display->content['new-5'] = $pane;
- $display->panels['footer'][4] = 'new-5';
- $pane = new stdClass();
- $pane->pid = 'new-6';
- $pane->panel = 'header';
- $pane->type = 'custom';
- $pane->subtype = 'custom';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'admin_title' => 'Actualités - Titre - A venir ou passées',
- 'title' => '',
- 'body' => 'Actualites a venir
+ $pane = new stdClass();
+ $pane->pid = 'new-e40cf02e-a1a8-479b-a6e3-1bdba41e02f0';
+ $pane->panel = 'footer';
+ $pane->type = 'entity_field';
+ $pane->subtype = 'node:field_popsu_actu_soustitre';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'label' => 'title',
+ 'formatter' => 'text_default',
+ 'delta_limit' => 0,
+ 'delta_offset' => '0',
+ 'delta_reversed' => FALSE,
+ 'formatter_settings' => array(),
+ 'context' => 'argument_entity_id:node_1',
+ 'override_title' => 1,
+ 'override_title_text' => '',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = 'e40cf02e-a1a8-479b-a6e3-1bdba41e02f0';
+ $display->content['new-e40cf02e-a1a8-479b-a6e3-1bdba41e02f0'] = $pane;
+ $display->panels['footer'][0] = 'new-e40cf02e-a1a8-479b-a6e3-1bdba41e02f0';
+ $pane = new stdClass();
+ $pane->pid = 'new-023bb002-6c73-45e4-8300-ebf1bb78fc6e';
+ $pane->panel = 'footer';
+ $pane->type = 'entity_field';
+ $pane->subtype = 'node:field_popsu_actu_date';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'label' => 'title',
+ 'formatter' => 'date_default',
+ 'delta_limit' => 0,
+ 'delta_offset' => '0',
+ 'delta_reversed' => FALSE,
+ 'formatter_settings' => array(
+ 'format_type' => 'popsu_yyyy_mm_dd',
+ 'multiple_number' => '',
+ 'multiple_from' => '',
+ 'multiple_to' => '',
+ 'fromto' => 'both',
+ ),
+ 'context' => 'argument_entity_id:node_1',
+ 'override_title' => 1,
+ 'override_title_text' => '',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 1;
+ $pane->locks = array();
+ $pane->uuid = '023bb002-6c73-45e4-8300-ebf1bb78fc6e';
+ $display->content['new-023bb002-6c73-45e4-8300-ebf1bb78fc6e'] = $pane;
+ $display->panels['footer'][1] = 'new-023bb002-6c73-45e4-8300-ebf1bb78fc6e';
+ $pane = new stdClass();
+ $pane->pid = 'new-87a6bcca-c696-4405-be4b-ed4516cf34a6';
+ $pane->panel = 'footer';
+ $pane->type = 'entity_field';
+ $pane->subtype = 'node:field_popsu_actu_body';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'label' => 'title',
+ 'formatter' => 'text_default',
+ 'delta_limit' => 0,
+ 'delta_offset' => '0',
+ 'delta_reversed' => FALSE,
+ 'formatter_settings' => array(),
+ 'context' => 'argument_entity_id:node_1',
+ 'override_title' => 1,
+ 'override_title_text' => '',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => '',
+ 'css_class' => 'layout-64p',
+ );
+ $pane->extras = array();
+ $pane->position = 2;
+ $pane->locks = array();
+ $pane->uuid = '87a6bcca-c696-4405-be4b-ed4516cf34a6';
+ $display->content['new-87a6bcca-c696-4405-be4b-ed4516cf34a6'] = $pane;
+ $display->panels['footer'][2] = 'new-87a6bcca-c696-4405-be4b-ed4516cf34a6';
+ $pane = new stdClass();
+ $pane->pid = 'new-f3d686ff-7c21-413c-ab53-f51c34e5e775';
+ $pane->panel = 'footer';
+ $pane->type = 'views_panes';
+ $pane->subtype = 'actualites-panel_pane_2';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'arguments' => array(
+ 'nid' => '%node:nid',
+ ),
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 3;
+ $pane->locks = array();
+ $pane->uuid = 'f3d686ff-7c21-413c-ab53-f51c34e5e775';
+ $display->content['new-f3d686ff-7c21-413c-ab53-f51c34e5e775'] = $pane;
+ $display->panels['footer'][3] = 'new-f3d686ff-7c21-413c-ab53-f51c34e5e775';
+ $pane = new stdClass();
+ $pane->pid = 'new-fc2a42c0-dd25-4872-8f98-8ae2780e5116';
+ $pane->panel = 'footer';
+ $pane->type = 'views_panes';
+ $pane->subtype = 'actualites-panel_pane_3';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'arguments' => array(
+ 'nid' => '%node:nid',
+ ),
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 4;
+ $pane->locks = array();
+ $pane->uuid = 'fc2a42c0-dd25-4872-8f98-8ae2780e5116';
+ $display->content['new-fc2a42c0-dd25-4872-8f98-8ae2780e5116'] = $pane;
+ $display->panels['footer'][4] = 'new-fc2a42c0-dd25-4872-8f98-8ae2780e5116';
+ $pane = new stdClass();
+ $pane->pid = 'new-9fe66e75-0f7a-497c-9ffc-c21d5bf061c1';
+ $pane->panel = 'header';
+ $pane->type = 'custom';
+ $pane->subtype = 'custom';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'admin_title' => 'Actualités - Titre - A venir ou passées',
+ 'title' => '',
+ 'body' => 'Actualites a venir
Actualites passees ',
- 'format' => 'php_code',
- 'substitute' => 1,
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array();
- $pane->extras = array();
- $pane->position = 0;
- $pane->locks = array();
- $display->content['new-6'] = $pane;
- $display->panels['header'][0] = 'new-6';
- $pane = new stdClass();
- $pane->pid = 'new-7';
- $pane->panel = 'header';
- $pane->type = 'node_title';
- $pane->subtype = 'node_title';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'link' => 0,
- 'context' => 'argument_entity_id:node_1',
- 'override_title' => 1,
- 'override_title_text' => '',
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => 'page-title-secondary-actu',
- 'css_class' => 'page-title-secondary',
- );
- $pane->extras = array();
- $pane->position = 1;
- $pane->locks = array();
- $display->content['new-7'] = $pane;
- $display->panels['header'][1] = 'new-7';
- $pane = new stdClass();
- $pane->pid = 'new-8';
- $pane->panel = 'left';
- $pane->type = 'entity_field';
- $pane->subtype = 'node:field_popsu_actu_image';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'label' => 'title',
- 'formatter' => 'image',
- 'delta_limit' => 0,
- 'delta_offset' => '0',
- 'delta_reversed' => FALSE,
- 'formatter_settings' => array(
- 'image_style' => '',
- 'image_link' => '',
- ),
- 'context' => 'argument_entity_id:node_1',
- 'override_title' => 1,
- 'override_title_text' => '',
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => 'panel-actu-grande-image',
- 'css_class' => 'image-decallee',
- );
- $pane->extras = array();
- $pane->position = 0;
- $pane->locks = array();
- $display->content['new-8'] = $pane;
- $display->panels['left'][0] = 'new-8';
+ 'format' => 'php_code',
+ 'substitute' => 1,
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = '9fe66e75-0f7a-497c-9ffc-c21d5bf061c1';
+ $display->content['new-9fe66e75-0f7a-497c-9ffc-c21d5bf061c1'] = $pane;
+ $display->panels['header'][0] = 'new-9fe66e75-0f7a-497c-9ffc-c21d5bf061c1';
+ $pane = new stdClass();
+ $pane->pid = 'new-b0ef292b-5304-47f3-8b50-b3d901e52e00';
+ $pane->panel = 'header';
+ $pane->type = 'node_title';
+ $pane->subtype = 'node_title';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'link' => 0,
+ 'context' => 'argument_entity_id:node_1',
+ 'override_title' => 1,
+ 'override_title_text' => '',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => 'page-title-secondary-actu',
+ 'css_class' => 'page-title-secondary',
+ );
+ $pane->extras = array();
+ $pane->position = 1;
+ $pane->locks = array();
+ $pane->uuid = 'b0ef292b-5304-47f3-8b50-b3d901e52e00';
+ $display->content['new-b0ef292b-5304-47f3-8b50-b3d901e52e00'] = $pane;
+ $display->panels['header'][1] = 'new-b0ef292b-5304-47f3-8b50-b3d901e52e00';
+ $pane = new stdClass();
+ $pane->pid = 'new-47e94db5-efe8-4cbc-9eed-ed063d49c319';
+ $pane->panel = 'left';
+ $pane->type = 'entity_field';
+ $pane->subtype = 'node:field_popsu_actu_image';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'label' => 'title',
+ 'formatter' => 'image',
+ 'delta_limit' => 0,
+ 'delta_offset' => '0',
+ 'delta_reversed' => FALSE,
+ 'formatter_settings' => array(
+ 'image_style' => '',
+ 'image_link' => '',
+ ),
+ 'context' => 'argument_entity_id:node_1',
+ 'override_title' => 1,
+ 'override_title_text' => '',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => 'panel-actu-grande-image',
+ 'css_class' => 'image-decallee',
+ );
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = '47e94db5-efe8-4cbc-9eed-ed063d49c319';
+ $display->content['new-47e94db5-efe8-4cbc-9eed-ed063d49c319'] = $pane;
+ $display->panels['left'][0] = 'new-47e94db5-efe8-4cbc-9eed-ed063d49c319';
$display->hide_title = PANELS_TITLE_NONE;
$display->title_pane = '0';
$handler->conf['display'] = $display;
@@ -362,80 +373,85 @@ function popsu_actualites_default_page_manager_pages() {
);
$display->cache = array();
$display->title = 'Actualités, appels d\'offre et consultations';
+ $display->uuid = 'c6b465ec-1b7c-414a-848a-27b5bf692a45';
+ $display->storage_type = 'page_manager';
+ $display->storage_id = 'page_popsu_actualites_panel_context';
$display->content = array();
$display->panels = array();
- $pane = new stdClass();
- $pane->pid = 'new-1';
- $pane->panel = 'left';
- $pane->type = 'views';
- $pane->subtype = 'actualites';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'override_pager_settings' => 0,
- 'use_pager' => 0,
- 'nodes_per_page' => '0',
- 'pager_id' => '0',
- 'offset' => '0',
- 'more_link' => 0,
- 'feed_icons' => 0,
- 'panel_args' => 0,
- 'link_to_view' => 0,
- 'args' => '',
- 'url' => '',
- 'display' => 'block_3',
- 'override_title' => 1,
- 'override_title_text' => 'Actualites a venir',
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => '',
- 'css_class' => 'listing-actu listing-actu-avenir',
- );
- $pane->extras = array();
- $pane->position = 0;
- $pane->locks = array();
- $display->content['new-1'] = $pane;
- $display->panels['left'][0] = 'new-1';
- $pane = new stdClass();
- $pane->pid = 'new-2';
- $pane->panel = 'left';
- $pane->type = 'views';
- $pane->subtype = 'actualites';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'override_pager_settings' => 0,
- 'use_pager' => 0,
- 'nodes_per_page' => '0',
- 'pager_id' => '0',
- 'offset' => '0',
- 'more_link' => 0,
- 'feed_icons' => 0,
- 'panel_args' => 0,
- 'link_to_view' => 0,
- 'args' => '',
- 'url' => '',
- 'display' => 'block_4',
- 'override_title' => 1,
- 'override_title_text' => 'Actualites archivees',
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => 'pane-actu-passees',
- 'css_class' => 'layout-88p listing-actu listing-actu-passe',
- );
- $pane->extras = array();
- $pane->position = 1;
- $pane->locks = array();
- $display->content['new-2'] = $pane;
- $display->panels['left'][1] = 'new-2';
+ $pane = new stdClass();
+ $pane->pid = 'new-9871e640-6e35-4ffc-98ee-5ef37753686c';
+ $pane->panel = 'left';
+ $pane->type = 'views';
+ $pane->subtype = 'actualites';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'override_pager_settings' => 0,
+ 'use_pager' => 0,
+ 'nodes_per_page' => '0',
+ 'pager_id' => '0',
+ 'offset' => '0',
+ 'more_link' => 0,
+ 'feed_icons' => 0,
+ 'panel_args' => 0,
+ 'link_to_view' => 0,
+ 'args' => '',
+ 'url' => '',
+ 'display' => 'block_3',
+ 'override_title' => 1,
+ 'override_title_text' => 'Actualités',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => '',
+ 'css_class' => 'listing-actu listing-actu-avenir',
+ );
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = '9871e640-6e35-4ffc-98ee-5ef37753686c';
+ $display->content['new-9871e640-6e35-4ffc-98ee-5ef37753686c'] = $pane;
+ $display->panels['left'][0] = 'new-9871e640-6e35-4ffc-98ee-5ef37753686c';
+ $pane = new stdClass();
+ $pane->pid = 'new-43500ad1-83c5-4fe7-9c81-782c0ca4d697';
+ $pane->panel = 'left';
+ $pane->type = 'views';
+ $pane->subtype = 'actualites';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'override_pager_settings' => 0,
+ 'use_pager' => 0,
+ 'nodes_per_page' => '0',
+ 'pager_id' => '0',
+ 'offset' => '0',
+ 'more_link' => 0,
+ 'feed_icons' => 0,
+ 'panel_args' => 0,
+ 'link_to_view' => 0,
+ 'args' => '',
+ 'url' => '',
+ 'display' => 'block_4',
+ 'override_title' => 1,
+ 'override_title_text' => 'Actualites archivees',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => 'pane-actu-passees',
+ 'css_class' => 'layout-88p listing-actu listing-actu-passe',
+ );
+ $pane->extras = array();
+ $pane->position = 1;
+ $pane->locks = array();
+ $pane->uuid = '43500ad1-83c5-4fe7-9c81-782c0ca4d697';
+ $display->content['new-43500ad1-83c5-4fe7-9c81-782c0ca4d697'] = $pane;
+ $display->panels['left'][1] = 'new-43500ad1-83c5-4fe7-9c81-782c0ca4d697';
$display->hide_title = PANELS_TITLE_FIXED;
$display->title_pane = '0';
$handler->conf['display'] = $display;
diff --git a/sites/default/modules/features/popsu_actualites/popsu_actualites.strongarm.inc b/sites/default/modules/features/popsu_actualites/popsu_actualites.strongarm.inc
index 0aaa34f..1a351ce 100644
--- a/sites/default/modules/features/popsu_actualites/popsu_actualites.strongarm.inc
+++ b/sites/default/modules/features/popsu_actualites/popsu_actualites.strongarm.inc
@@ -14,7 +14,7 @@ function popsu_actualites_strongarm() {
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
$strongarm->name = 'additional_settings__active_tab_popsu_actu';
- $strongarm->value = 'edit-page-title';
+ $strongarm->value = 'edit-xmlsitemap';
$export['additional_settings__active_tab_popsu_actu'] = $strongarm;
$strongarm = new stdClass();
@@ -43,14 +43,39 @@ function popsu_actualites_strongarm() {
$strongarm->api_version = 1;
$strongarm->name = 'field_bundle_settings_node__popsu_actu';
$strongarm->value = array(
- 'view_modes' => array(),
+ 'view_modes' => array(
+ 'teaser' => array(
+ 'custom_settings' => TRUE,
+ ),
+ 'full' => array(
+ 'custom_settings' => FALSE,
+ ),
+ 'rss' => array(
+ 'custom_settings' => FALSE,
+ ),
+ 'search_index' => array(
+ 'custom_settings' => FALSE,
+ ),
+ 'search_result' => array(
+ 'custom_settings' => FALSE,
+ ),
+ 'diff_standard' => array(
+ 'custom_settings' => FALSE,
+ ),
+ 'token' => array(
+ 'custom_settings' => FALSE,
+ ),
+ ),
'extra_fields' => array(
'form' => array(
'title' => array(
'weight' => '6',
),
'path' => array(
- 'weight' => '3',
+ 'weight' => '5',
+ ),
+ 'xmlsitemap' => array(
+ 'weight' => '30',
),
),
'display' => array(),
@@ -134,5 +159,15 @@ function popsu_actualites_strongarm() {
$strongarm->value = 1;
$export['publishcontent_popsu_actu'] = $strongarm;
+ $strongarm = new stdClass();
+ $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
+ $strongarm->api_version = 1;
+ $strongarm->name = 'xmlsitemap_settings_node_popsu_actu';
+ $strongarm->value = array(
+ 'status' => '1',
+ 'priority' => '0.5',
+ );
+ $export['xmlsitemap_settings_node_popsu_actu'] = $strongarm;
+
return $export;
}
diff --git a/sites/default/modules/features/popsu_actualites/popsu_actualites.views_default.inc b/sites/default/modules/features/popsu_actualites/popsu_actualites.views_default.inc
index 63f00a3..3c53864 100644
--- a/sites/default/modules/features/popsu_actualites/popsu_actualites.views_default.inc
+++ b/sites/default/modules/features/popsu_actualites/popsu_actualites.views_default.inc
@@ -85,16 +85,16 @@ function popsu_actualites_views_default_views() {
$handler->display->display_options['fields']['field_popsu_actu_soustitre']['label'] = '';
$handler->display->display_options['fields']['field_popsu_actu_soustitre']['exclude'] = TRUE;
$handler->display->display_options['fields']['field_popsu_actu_soustitre']['alter']['alter_text'] = TRUE;
- $handler->display->display_options['fields']['field_popsu_actu_soustitre']['alter']['text'] = '[field_popsu_actu_soustitre] - ';
+ $handler->display->display_options['fields']['field_popsu_actu_soustitre']['alter']['text'] = '[field_popsu_actu_soustitre]';
$handler->display->display_options['fields']['field_popsu_actu_soustitre']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_popsu_actu_soustitre']['hide_empty'] = TRUE;
- /* Champ: Contenu : Date de début de publication de l'actualité sur la page d'accueil */
+ /* Champ: Contenu : Date de début de validité de l'actualité */
$handler->display->display_options['fields']['field_popsu_actu_date']['id'] = 'field_popsu_actu_date';
$handler->display->display_options['fields']['field_popsu_actu_date']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['fields']['field_popsu_actu_date']['field'] = 'field_popsu_actu_date';
$handler->display->display_options['fields']['field_popsu_actu_date']['label'] = '';
$handler->display->display_options['fields']['field_popsu_actu_date']['alter']['alter_text'] = TRUE;
- $handler->display->display_options['fields']['field_popsu_actu_date']['alter']['text'] = '[field_popsu_actu_soustitre][field_popsu_actu_date]';
+ $handler->display->display_options['fields']['field_popsu_actu_date']['alter']['text'] = '[field_popsu_actu_soustitre]';
$handler->display->display_options['fields']['field_popsu_actu_date']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_popsu_actu_date']['settings'] = array(
'format_type' => 'short',
@@ -133,7 +133,7 @@ function popsu_actualites_views_default_views() {
$handler->display->display_options['fields']['view_node']['alter']['text'] = 'voir toutes les actualités ';
$handler->display->display_options['fields']['view_node']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['view_node']['text'] = 'voir toutes les actualités';
- /* Critère de tri: Contenu : Date de début de publication de l'actualité sur la page d'accueil (field_popsu_actu_date) */
+ /* Critère de tri: Contenu : Date de début de validité de l'actualité (field_popsu_actu_date) */
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['id'] = 'field_popsu_actu_date_value';
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['field'] = 'field_popsu_actu_date_value';
@@ -169,7 +169,7 @@ function popsu_actualites_views_default_views() {
$handler->display->display_options['pager']['options']['items_per_page'] = '1';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['defaults']['sorts'] = FALSE;
- /* Critère de tri: Contenu : Date de début de publication de l'actualité sur la page d'accueil (field_popsu_actu_date) */
+ /* Critère de tri: Contenu : Date de début de validité de l'actualité (field_popsu_actu_date) */
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['id'] = 'field_popsu_actu_date_value';
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['field'] = 'field_popsu_actu_date_value';
@@ -189,18 +189,25 @@ function popsu_actualites_views_default_views() {
$handler->display->display_options['filters']['type']['value'] = array(
'popsu_actu' => 'popsu_actu',
);
- /* Critère de filtrage: Contenu : Date de début de publication de l'actualité sur la page d'accueil (field_popsu_actu_date) */
+ /* Critère de filtrage: Contenu : Date de début de validité de l'actualité (field_popsu_actu_date) */
$handler->display->display_options['filters']['field_popsu_actu_date_value']['id'] = 'field_popsu_actu_date_value';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['field'] = 'field_popsu_actu_date_value';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['operator'] = '<=';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['default_date'] = 'now';
- /* Critère de filtrage: Contenu : Date de fin de publication de l'actualité sur la page d'accueil (field_popsu_actu_date_fin) */
+ /* Critère de filtrage: Contenu : Date de fin de validité de l'actualité (field_popsu_actu_date_fin) */
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['id'] = 'field_popsu_actu_date_fin_value';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['table'] = 'field_data_field_popsu_actu_date_fin';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['field'] = 'field_popsu_actu_date_fin_value';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['operator'] = '>=';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['default_date'] = 'now';
+ /* Critère de filtrage: Contenu : Publier sur la page d'accueil (field_popsu_actu_enhome) */
+ $handler->display->display_options['filters']['field_popsu_actu_enhome_value']['id'] = 'field_popsu_actu_enhome_value';
+ $handler->display->display_options['filters']['field_popsu_actu_enhome_value']['table'] = 'field_data_field_popsu_actu_enhome';
+ $handler->display->display_options['filters']['field_popsu_actu_enhome_value']['field'] = 'field_popsu_actu_enhome_value';
+ $handler->display->display_options['filters']['field_popsu_actu_enhome_value']['value'] = array(
+ 1 => '1',
+ );
$handler->display->display_options['pane_category']['name'] = 'Volets de vue';
$handler->display->display_options['link_to_view'] = '0';
@@ -238,7 +245,7 @@ function popsu_actualites_views_default_views() {
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
$handler->display->display_options['fields']['title']['element_label_colon'] = FALSE;
$handler->display->display_options['defaults']['sorts'] = FALSE;
- /* Critère de tri: Contenu : Date de début de publication de l'actualité sur la page d'accueil (field_popsu_actu_date) */
+ /* Critère de tri: Contenu : Date de début de validité de l'actualité (field_popsu_actu_date) */
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['id'] = 'field_popsu_actu_date_value';
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['field'] = 'field_popsu_actu_date_value';
@@ -258,13 +265,13 @@ function popsu_actualites_views_default_views() {
$handler->display->display_options['filters']['type']['value'] = array(
'popsu_actu' => 'popsu_actu',
);
- /* Critère de filtrage: Contenu : Date de fin de publication de l'actualité sur la page d'accueil (field_popsu_actu_date_fin) */
+ /* Critère de filtrage: Contenu : Date de fin de validité de l'actualité (field_popsu_actu_date_fin) */
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['id'] = 'field_popsu_actu_date_fin_value';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['table'] = 'field_data_field_popsu_actu_date_fin';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['field'] = 'field_popsu_actu_date_fin_value';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['operator'] = '>';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['default_date'] = 'now';
- /* Critère de filtrage: Contenu : Date de début de publication de l'actualité sur la page d'accueil (field_popsu_actu_date) */
+ /* Critère de filtrage: Contenu : Date de début de validité de l'actualité (field_popsu_actu_date) */
$handler->display->display_options['filters']['field_popsu_actu_date_value']['id'] = 'field_popsu_actu_date_value';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['field'] = 'field_popsu_actu_date_value';
@@ -321,13 +328,13 @@ function popsu_actualites_views_default_views() {
$handler->display->display_options['filters']['type']['value'] = array(
'popsu_actu' => 'popsu_actu',
);
- /* Critère de filtrage: Contenu : Date de fin de publication de l'actualité sur la page d'accueil (field_popsu_actu_date_fin) */
+ /* Critère de filtrage: Contenu : Date de fin de validité de l'actualité (field_popsu_actu_date_fin) */
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['id'] = 'field_popsu_actu_date_fin_value';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['table'] = 'field_data_field_popsu_actu_date_fin';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['field'] = 'field_popsu_actu_date_fin_value';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['operator'] = '<=';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['default_date'] = 'now';
- /* Critère de filtrage: Contenu : Date de début de publication de l'actualité sur la page d'accueil (field_popsu_actu_date) */
+ /* Critère de filtrage: Contenu : Date de début de validité de l'actualité (field_popsu_actu_date) */
$handler->display->display_options['filters']['field_popsu_actu_date_value']['id'] = 'field_popsu_actu_date_value';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['field'] = 'field_popsu_actu_date_value';
@@ -458,7 +465,7 @@ display: none;
$handler->display->display_options['filters']['type']['value'] = array(
'popsu_actu' => 'popsu_actu',
);
- /* Critère de filtrage: Contenu : Date de début de publication de l'actualité sur la page d'accueil (field_popsu_actu_date) */
+ /* Critère de filtrage: Contenu : Date de début de validité de l'actualité (field_popsu_actu_date) */
$handler->display->display_options['filters']['field_popsu_actu_date_value']['id'] = 'field_popsu_actu_date_value';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['field'] = 'field_popsu_actu_date_value';
@@ -479,7 +486,7 @@ display: none;
/* Display: Actualites A venir Block */
$handler = $view->new_display('block', 'Actualites A venir Block', 'block_3');
$handler->display->display_options['defaults']['title'] = FALSE;
- $handler->display->display_options['title'] = 'Actualites a venir';
+ $handler->display->display_options['title'] = 'Actualités, appels d\'offre et consultations';
$handler->display->display_options['defaults']['css_class'] = FALSE;
$handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
$handler->display->display_options['defaults']['pager'] = FALSE;
@@ -510,7 +517,7 @@ display: none;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
$handler->display->display_options['fields']['title']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['title']['link_to_node'] = FALSE;
- /* Champ: Contenu : Date de début de publication de l'actualité sur la page d'accueil */
+ /* Champ: Contenu : Date de début de validité de l'actualité */
$handler->display->display_options['fields']['field_popsu_actu_date']['id'] = 'field_popsu_actu_date';
$handler->display->display_options['fields']['field_popsu_actu_date']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['fields']['field_popsu_actu_date']['field'] = 'field_popsu_actu_date';
@@ -524,7 +531,7 @@ display: none;
'multiple_from' => '',
'multiple_to' => '',
);
- /* Champ: Contenu : Date de fin de publication de l'actualité sur la page d'accueil */
+ /* Champ: Contenu : Date de fin de validité de l'actualité */
$handler->display->display_options['fields']['field_popsu_actu_date_fin']['id'] = 'field_popsu_actu_date_fin';
$handler->display->display_options['fields']['field_popsu_actu_date_fin']['table'] = 'field_data_field_popsu_actu_date_fin';
$handler->display->display_options['fields']['field_popsu_actu_date_fin']['field'] = 'field_popsu_actu_date_fin';
@@ -549,7 +556,7 @@ display: none;
$handler->display->display_options['fields']['field_popsu_actu_soustitre']['field'] = 'field_popsu_actu_soustitre';
$handler->display->display_options['fields']['field_popsu_actu_soustitre']['label'] = '';
$handler->display->display_options['fields']['field_popsu_actu_soustitre']['alter']['alter_text'] = TRUE;
- $handler->display->display_options['fields']['field_popsu_actu_soustitre']['alter']['text'] = '[field_popsu_actu_soustitre] - [field_popsu_actu_date_fin]';
+ $handler->display->display_options['fields']['field_popsu_actu_soustitre']['alter']['text'] = '[field_popsu_actu_soustitre]';
$handler->display->display_options['fields']['field_popsu_actu_soustitre']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_popsu_actu_soustitre']['empty'] = '[field_popsu_actu_date_fin]';
$handler->display->display_options['fields']['field_popsu_actu_soustitre']['hide_empty'] = TRUE;
@@ -578,8 +585,33 @@ display: none;
'image_style' => 'popsu-actu-listing',
'image_link' => '',
);
+ /* Champ: Contenu : Pièces jointes à cette actualité */
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['id'] = 'field_popsu_actu_attachment';
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['table'] = 'field_data_field_popsu_actu_attachment';
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['field'] = 'field_popsu_actu_attachment';
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['label'] = '';
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['click_sort_column'] = 'fid';
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['delta_offset'] = '0';
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['separator'] = ' ';
+ /* Champ: Contenu : Lien de modification */
+ $handler->display->display_options['fields']['edit_node']['id'] = 'edit_node';
+ $handler->display->display_options['fields']['edit_node']['table'] = 'views_entity_node';
+ $handler->display->display_options['fields']['edit_node']['field'] = 'edit_node';
+ $handler->display->display_options['fields']['edit_node']['label'] = '';
+ $handler->display->display_options['fields']['edit_node']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['edit_node']['hide_empty'] = TRUE;
+ /* Champ: Contenu : Lien de publication */
+ $handler->display->display_options['fields']['publishcontent']['id'] = 'publishcontent';
+ $handler->display->display_options['fields']['publishcontent']['table'] = 'node';
+ $handler->display->display_options['fields']['publishcontent']['field'] = 'publishcontent';
+ $handler->display->display_options['fields']['publishcontent']['label'] = '';
+ $handler->display->display_options['fields']['publishcontent']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['publishcontent']['hide_empty'] = TRUE;
+ $handler->display->display_options['fields']['publishcontent']['unpublish'] = 'Supprimer';
+ $handler->display->display_options['fields']['publishcontent']['publish'] = 'Récupérer dans la corbeille';
$handler->display->display_options['defaults']['sorts'] = FALSE;
- /* Critère de tri: Contenu : Date de début de publication de l'actualité sur la page d'accueil (field_popsu_actu_date) */
+ /* Critère de tri: Contenu : Date de début de validité de l'actualité (field_popsu_actu_date) */
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['id'] = 'field_popsu_actu_date_value';
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['field'] = 'field_popsu_actu_date_value';
@@ -599,13 +631,13 @@ display: none;
$handler->display->display_options['filters']['type']['value'] = array(
'popsu_actu' => 'popsu_actu',
);
- /* Critère de filtrage: Contenu : Date de fin de publication de l'actualité sur la page d'accueil (field_popsu_actu_date_fin) */
+ /* Critère de filtrage: Contenu : Date de fin de validité de l'actualité (field_popsu_actu_date_fin) */
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['id'] = 'field_popsu_actu_date_fin_value';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['table'] = 'field_data_field_popsu_actu_date_fin';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['field'] = 'field_popsu_actu_date_fin_value';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['operator'] = '>';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['default_date'] = 'now';
- /* Critère de filtrage: Contenu : Date de début de publication de l'actualité sur la page d'accueil (field_popsu_actu_date) */
+ /* Critère de filtrage: Contenu : Date de début de validité de l'actualité (field_popsu_actu_date) */
$handler->display->display_options['filters']['field_popsu_actu_date_value']['id'] = 'field_popsu_actu_date_value';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['field'] = 'field_popsu_actu_date_value';
@@ -658,7 +690,7 @@ display: none;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
$handler->display->display_options['fields']['title']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['title']['link_to_node'] = FALSE;
- /* Champ: Contenu : Date de début de publication de l'actualité sur la page d'accueil */
+ /* Champ: Contenu : Date de début de validité de l'actualité */
$handler->display->display_options['fields']['field_popsu_actu_date']['id'] = 'field_popsu_actu_date';
$handler->display->display_options['fields']['field_popsu_actu_date']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['fields']['field_popsu_actu_date']['field'] = 'field_popsu_actu_date';
@@ -672,7 +704,7 @@ display: none;
'multiple_from' => '',
'multiple_to' => '',
);
- /* Champ: Contenu : Date de fin de publication de l'actualité sur la page d'accueil */
+ /* Champ: Contenu : Date de fin de validité de l'actualité */
$handler->display->display_options['fields']['field_popsu_actu_date_fin']['id'] = 'field_popsu_actu_date_fin';
$handler->display->display_options['fields']['field_popsu_actu_date_fin']['table'] = 'field_data_field_popsu_actu_date_fin';
$handler->display->display_options['fields']['field_popsu_actu_date_fin']['field'] = 'field_popsu_actu_date_fin';
@@ -728,8 +760,33 @@ display: none;
'image_style' => 'popsu-actu-listing',
'image_link' => '',
);
+ /* Champ: Contenu : Pièces jointes à cette actualité */
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['id'] = 'field_popsu_actu_attachment';
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['table'] = 'field_data_field_popsu_actu_attachment';
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['field'] = 'field_popsu_actu_attachment';
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['label'] = '';
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['click_sort_column'] = 'fid';
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['delta_offset'] = '0';
+ $handler->display->display_options['fields']['field_popsu_actu_attachment']['separator'] = ' ';
+ /* Champ: Contenu : Lien de modification */
+ $handler->display->display_options['fields']['edit_node']['id'] = 'edit_node';
+ $handler->display->display_options['fields']['edit_node']['table'] = 'views_entity_node';
+ $handler->display->display_options['fields']['edit_node']['field'] = 'edit_node';
+ $handler->display->display_options['fields']['edit_node']['label'] = '';
+ $handler->display->display_options['fields']['edit_node']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['edit_node']['hide_empty'] = TRUE;
+ /* Champ: Contenu : Lien de publication */
+ $handler->display->display_options['fields']['publishcontent']['id'] = 'publishcontent';
+ $handler->display->display_options['fields']['publishcontent']['table'] = 'node';
+ $handler->display->display_options['fields']['publishcontent']['field'] = 'publishcontent';
+ $handler->display->display_options['fields']['publishcontent']['label'] = '';
+ $handler->display->display_options['fields']['publishcontent']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['publishcontent']['hide_empty'] = TRUE;
+ $handler->display->display_options['fields']['publishcontent']['unpublish'] = 'Supprimer';
+ $handler->display->display_options['fields']['publishcontent']['publish'] = 'Récupérer dans la corbeille';
$handler->display->display_options['defaults']['sorts'] = FALSE;
- /* Critère de tri: Contenu : Date de début de publication de l'actualité sur la page d'accueil (field_popsu_actu_date) */
+ /* Critère de tri: Contenu : Date de début de validité de l'actualité (field_popsu_actu_date) */
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['id'] = 'field_popsu_actu_date_value';
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['sorts']['field_popsu_actu_date_value']['field'] = 'field_popsu_actu_date_value';
@@ -749,13 +806,13 @@ display: none;
$handler->display->display_options['filters']['type']['value'] = array(
'popsu_actu' => 'popsu_actu',
);
- /* Critère de filtrage: Contenu : Date de fin de publication de l'actualité sur la page d'accueil (field_popsu_actu_date_fin) */
+ /* Critère de filtrage: Contenu : Date de fin de validité de l'actualité (field_popsu_actu_date_fin) */
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['id'] = 'field_popsu_actu_date_fin_value';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['table'] = 'field_data_field_popsu_actu_date_fin';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['field'] = 'field_popsu_actu_date_fin_value';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['operator'] = '<=';
$handler->display->display_options['filters']['field_popsu_actu_date_fin_value']['default_date'] = 'now';
- /* Critère de filtrage: Contenu : Date de début de publication de l'actualité sur la page d'accueil (field_popsu_actu_date) */
+ /* Critère de filtrage: Contenu : Date de début de validité de l'actualité (field_popsu_actu_date) */
$handler->display->display_options['filters']['field_popsu_actu_date_value']['id'] = 'field_popsu_actu_date_value';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['table'] = 'field_data_field_popsu_actu_date';
$handler->display->display_options['filters']['field_popsu_actu_date_value']['field'] = 'field_popsu_actu_date_value';
@@ -780,8 +837,7 @@ display: none;
t('dernier »'),
t('/actualites'),
t('[title] '),
- t('[field_popsu_actu_soustitre] - '),
- t('[field_popsu_actu_soustitre][field_popsu_actu_date]'),
+ t('[field_popsu_actu_soustitre]'),
t('[field_popsu_actu_body] '),
t('Modifier cette actu'),
t('voir toutes les actualités '),
@@ -801,13 +857,15 @@ display: none;
t('Tout'),
t('Actualites CSS titre switcher'),
t('Actualites A venir Block'),
+ t('Actualités, appels d\'offre et consultations'),
t('du [field_popsu_actu_date] au [field_popsu_actu_date_fin]'),
t('[field_popsu_actu_date]'),
- t('[field_popsu_actu_soustitre] - [field_popsu_actu_date_fin]'),
t('[field_popsu_actu_date_fin]'),
t('[field_popsu_actu_image]
[field_popsu_actu_body]
'),
t('[field_popsu_actu_body]'),
+ t('Supprimer'),
+ t('Récupérer dans la corbeille'),
t('POPSU - Actualites - Block A venir'),
t('Actualites Passees Block'),
t('[title]
diff --git a/sites/default/modules/features/popsu_structure/popsu_structure.box.inc b/sites/default/modules/features/popsu_structure/popsu_structure.box.inc
index 0b691cb..5eca706 100644
--- a/sites/default/modules/features/popsu_structure/popsu_structure.box.inc
+++ b/sites/default/modules/features/popsu_structure/popsu_structure.box.inc
@@ -19,21 +19,19 @@ function popsu_structure_default_box() {
$box->description = 'Google Analytics tracking code';
$box->options = array(
'body' => array(
- 'value' => '',
'format' => 'php_code',
),
+ 'additional_classes' => '',
);
$export['popsu_google_analytics'] = $box;
@@ -46,9 +44,9 @@ function popsu_structure_default_box() {
$box->description = 'POPSU Logo Baseline (box)';
$box->options = array(
'body' => array(
- 'value' => 'PLATE-FORME
-D’OBSERVATION
-DES PROJETS
+ 'value' => 'PLATE-FORME
+D’OBSERVATION
+DES PROJETS
DE STRATÉGIES URBAINES',
'format' => 'php_code',
),
@@ -103,6 +101,55 @@ DE STRATÉGIES URBAINES',
);
$export['popsu_logo_popsueurope'] = $box;
+ $box = new stdClass();
+ $box->disabled = FALSE; /* Edit this to true to make a default box disabled initially */
+ $box->api_version = 1;
+ $box->delta = 'popsu_logo_popsumetropoles';
+ $box->plugin_key = 'simple';
+ $box->title = '';
+ $box->description = 'POPSU Logo POPSU Metropoles (box)';
+ $box->options = array(
+ 'body' => array(
+ 'value' => 'Aller à l\'accueil de POPSU Metropoles ',
+ 'format' => 'php_code',
+ ),
+ 'additional_classes' => '',
+ );
+ $export['popsu_logo_popsumetropoles'] = $box;
+
+ $box = new stdClass();
+ $box->disabled = FALSE; /* Edit this to true to make a default box disabled initially */
+ $box->api_version = 1;
+ $box->delta = 'popsu_logo_popsumonde';
+ $box->plugin_key = 'simple';
+ $box->title = '';
+ $box->description = 'POPSU Logo POPSU Monde (box)';
+ $box->options = array(
+ 'body' => array(
+ 'value' => 'Aller à l\'accueil de POPSU Monde
+',
+ 'format' => 'php_code',
+ ),
+ 'additional_classes' => '',
+ );
+ $export['popsu_logo_popsumonde'] = $box;
+
+ $box = new stdClass();
+ $box->disabled = FALSE; /* Edit this to true to make a default box disabled initially */
+ $box->api_version = 1;
+ $box->delta = 'popsu_logo_popsuterrritoires';
+ $box->plugin_key = 'simple';
+ $box->title = '';
+ $box->description = 'POPSU Logo POPSU Territoires (box)';
+ $box->options = array(
+ 'body' => array(
+ 'value' => 'Aller à l\'accueil de POPSU Territoires ',
+ 'format' => 'php_code',
+ ),
+ 'additional_classes' => '',
+ );
+ $export['popsu_logo_popsuterrritoires'] = $box;
+
$box = new stdClass();
$box->disabled = FALSE; /* Edit this to true to make a default box disabled initially */
$box->api_version = 1;
@@ -112,8 +159,8 @@ DE STRATÉGIES URBAINES',
$box->description = 'POPSU Trigger de menu niveau 1 (box)';
$box->options = array(
'body' => array(
- 'value' => '
-
+ 'value' => '
+
',
'format' => 'php_code',
),
diff --git a/sites/default/modules/features/popsu_structure/popsu_structure.context.inc b/sites/default/modules/features/popsu_structure/popsu_structure.context.inc
index 8076b98..8630417 100644
--- a/sites/default/modules/features/popsu_structure/popsu_structure.context.inc
+++ b/sites/default/modules/features/popsu_structure/popsu_structure.context.inc
@@ -32,18 +32,18 @@ function popsu_structure_context_default_contexts() {
'region' => 'content',
'weight' => '-10',
),
- 'menu-menu-popsu-menu-footer' => array(
- 'module' => 'menu',
- 'delta' => 'menu-popsu-menu-footer',
- 'region' => 'footer',
- 'weight' => '-10',
- ),
'menu-menu-popsu-footer-droite' => array(
'module' => 'menu',
'delta' => 'menu-popsu-footer-droite',
'region' => 'footer',
'weight' => '-10',
),
+ 'menu-menu-popsu-menu-footer' => array(
+ 'module' => 'menu',
+ 'delta' => 'menu-popsu-menu-footer',
+ 'region' => 'footer',
+ 'weight' => '-10',
+ ),
),
),
);
diff --git a/sites/default/modules/features/popsu_structure/popsu_structure.features.inc b/sites/default/modules/features/popsu_structure/popsu_structure.features.inc
index 1e2a0d7..90fae00 100644
--- a/sites/default/modules/features/popsu_structure/popsu_structure.features.inc
+++ b/sites/default/modules/features/popsu_structure/popsu_structure.features.inc
@@ -4,71 +4,19 @@
* popsu_structure.features.inc
*/
-/**
- * Implements hook_block_class_features_default_class().
- */
-function popsu_structure_block_class_features_default_class() {
- return array(
- 'menu:menu-popsu-menu-footer' => array(
- 'module' => 'menu',
- 'delta' => 'menu-popsu-menu-footer',
- 'css_classes' => 'menu-footer menu-inline',
- ),
- 'menu:menu-popus-menu-header' => array(
- 'module' => 'menu',
- 'delta' => 'menu-popus-menu-header',
- 'css_classes' => 'span1 menu-header',
- ),
- 'menu_block:1' => array(
- 'module' => 'menu_block',
- 'delta' => '1',
- 'css_classes' => 'left-nav left-nav-level-2',
- ),
- 'menu_block:2' => array(
- 'module' => 'menu_block',
- 'delta' => '2',
- 'css_classes' => 'left-nav left-nav-level-0',
- ),
- 'menu_block:3' => array(
- 'module' => 'menu_block',
- 'delta' => '3',
- 'css_classes' => 'left-nav left-nav-level-1',
- ),
- 'menu_block:4' => array(
- 'module' => 'menu_block',
- 'delta' => '4',
- 'css_classes' => 'left-nav left-nav-level-1',
- ),
- 'menu_block:5' => array(
- 'module' => 'menu_block',
- 'delta' => '5',
- 'css_classes' => 'left-nav left-nav-level-2',
- ),
- 'menu_block:6' => array(
- 'module' => 'menu_block',
- 'delta' => '6',
- 'css_classes' => 'left-nav left-nav-level-1',
- ),
- );
-}
-
/**
* Implements hook_ctools_plugin_api().
*/
-function popsu_structure_ctools_plugin_api() {
- list($module, $api) = func_get_args();
+function popsu_structure_ctools_plugin_api($module = NULL, $api = NULL) {
if ($module == "boxes" && $api == "box") {
return array("version" => "1");
}
- list($module, $api) = func_get_args();
if ($module == "context" && $api == "context") {
return array("version" => "3");
}
- list($module, $api) = func_get_args();
if ($module == "panels" && $api == "layouts") {
return array("version" => "1");
}
- list($module, $api) = func_get_args();
if ($module == "strongarm" && $api == "strongarm") {
return array("version" => "1");
}
diff --git a/sites/default/modules/features/popsu_structure/popsu_structure.info b/sites/default/modules/features/popsu_structure/popsu_structure.info
index 55a6158..2a47ada 100644
--- a/sites/default/modules/features/popsu_structure/popsu_structure.info
+++ b/sites/default/modules/features/popsu_structure/popsu_structure.info
@@ -2,7 +2,6 @@ name = POPSU Structure du site
description = POPSU - Structure du site
core = 7.x
package = POPSU
-php = 5.2.4
version = 7.x-1.0-beta9
project = popsu_structure
dependencies[] = block
@@ -22,19 +21,14 @@ dependencies[] = search
dependencies[] = uuid
dependencies[] = uuid_features
dependencies[] = uuid_path
-features[block_class][] = menu:menu-popsu-menu-footer
-features[block_class][] = menu:menu-popus-menu-header
-features[block_class][] = menu_block:1
-features[block_class][] = menu_block:2
-features[block_class][] = menu_block:3
-features[block_class][] = menu_block:4
-features[block_class][] = menu_block:5
-features[block_class][] = menu_block:6
features[box][] = popsu_google_analytics
features[box][] = popsu_logo_baseline
features[box][] = popsu_logo_popsu1
features[box][] = popsu_logo_popsu2
features[box][] = popsu_logo_popsueurope
+features[box][] = popsu_logo_popsumetropoles
+features[box][] = popsu_logo_popsumonde
+features[box][] = popsu_logo_popsuterrritoires
features[box][] = popsu_menu_trigger
features[context][] = popsu-structure-global
features[context][] = popsu-structure-homepage
@@ -43,5 +37,5 @@ features[ctools][] = boxes:box:1
features[ctools][] = context:context:3
features[ctools][] = panels:layouts:1
features[ctools][] = strongarm:strongarm:1
-features[features_api][] = api:1
+features[features_api][] = api:2
features[panels_layout][] = popsu_70_30_accordion
diff --git a/sites/default/modules/features/popsu_villes/popsu_villes.features.field_base.inc b/sites/default/modules/features/popsu_villes/popsu_villes.features.field_base.inc
new file mode 100644
index 0000000..14ebb33
--- /dev/null
+++ b/sites/default/modules/features/popsu_villes/popsu_villes.features.field_base.inc
@@ -0,0 +1,210 @@
+ 1,
+ 'cardinality' => 1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_ville_body',
+ 'indexes' => array(
+ 'format' => array(
+ 0 => 'format',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'text',
+ 'settings' => array(),
+ 'translatable' => 0,
+ 'type' => 'text_with_summary',
+ );
+
+ // Exported field_base: 'field_popsu_ville_coordinateur'.
+ $field_bases['field_popsu_ville_coordinateur'] = array(
+ 'active' => 1,
+ 'cardinality' => 1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_ville_coordinateur',
+ 'indexes' => array(
+ 'format' => array(
+ 0 => 'format',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'text',
+ 'settings' => array(),
+ 'translatable' => 0,
+ 'type' => 'text_long',
+ );
+
+ // Exported field_base: 'field_popsu_ville_equipe'.
+ $field_bases['field_popsu_ville_equipe'] = array(
+ 'active' => 1,
+ 'cardinality' => 1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_ville_equipe',
+ 'indexes' => array(
+ 'format' => array(
+ 0 => 'format',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'text',
+ 'settings' => array(),
+ 'translatable' => 0,
+ 'type' => 'text_long',
+ );
+
+ // Exported field_base: 'field_popsu_ville_images_illustr'.
+ $field_bases['field_popsu_ville_images_illustr'] = array(
+ 'active' => 1,
+ 'cardinality' => -1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_ville_images_illustr',
+ 'indexes' => array(
+ 'fid' => array(
+ 0 => 'fid',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'image',
+ 'settings' => array(
+ 'default_image' => 0,
+ 'uri_scheme' => 'public',
+ ),
+ 'translatable' => 0,
+ 'type' => 'image',
+ );
+
+ // Exported field_base: 'field_popsu_ville_images_small'.
+ $field_bases['field_popsu_ville_images_small'] = array(
+ 'active' => 1,
+ 'cardinality' => -1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_ville_images_small',
+ 'indexes' => array(
+ 'fid' => array(
+ 0 => 'fid',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'image',
+ 'settings' => array(
+ 'default_image' => 0,
+ 'uri_scheme' => 'public',
+ ),
+ 'translatable' => 0,
+ 'type' => 'image',
+ );
+
+ // Exported field_base: 'field_popsu_ville_partenairesimg'.
+ $field_bases['field_popsu_ville_partenairesimg'] = array(
+ 'active' => 1,
+ 'cardinality' => -1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_ville_partenairesimg',
+ 'indexes' => array(
+ 'fid' => array(
+ 0 => 'fid',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'image',
+ 'settings' => array(
+ 'default_image' => 0,
+ 'uri_scheme' => 'public',
+ ),
+ 'translatable' => 0,
+ 'type' => 'image',
+ );
+
+ // Exported field_base: 'field_popsu_ville_partenairestxt'.
+ $field_bases['field_popsu_ville_partenairestxt'] = array(
+ 'active' => 1,
+ 'cardinality' => 1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_ville_partenairestxt',
+ 'indexes' => array(
+ 'format' => array(
+ 0 => 'format',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'text',
+ 'settings' => array(),
+ 'translatable' => 0,
+ 'type' => 'text_long',
+ );
+
+ // Exported field_base: 'field_popsu_ville_popsu'.
+ $field_bases['field_popsu_ville_popsu'] = array(
+ 'active' => 1,
+ 'cardinality' => 1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_ville_popsu',
+ 'indexes' => array(
+ 'tid' => array(
+ 0 => 'tid',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'taxonomy',
+ 'settings' => array(
+ 'allowed_values' => array(
+ 0 => array(
+ 'vocabulary' => 'popsu_popsu',
+ 'parent' => 0,
+ ),
+ ),
+ 'options_list_callback' => 'i18n_taxonomy_allowed_values',
+ ),
+ 'translatable' => 0,
+ 'type' => 'taxonomy_term_reference',
+ );
+
+ // Exported field_base: 'field_popsu_ville_ville'.
+ $field_bases['field_popsu_ville_ville'] = array(
+ 'active' => 1,
+ 'cardinality' => 1,
+ 'deleted' => 0,
+ 'entity_types' => array(),
+ 'field_name' => 'field_popsu_ville_ville',
+ 'indexes' => array(
+ 'tid' => array(
+ 0 => 'tid',
+ ),
+ ),
+ 'locked' => 0,
+ 'module' => 'taxonomy',
+ 'settings' => array(
+ 'allowed_values' => array(
+ 0 => array(
+ 'vocabulary' => 'popsu_villes',
+ 'parent' => 0,
+ ),
+ ),
+ 'options_list_callback' => 'i18n_taxonomy_allowed_values',
+ ),
+ 'translatable' => 0,
+ 'type' => 'taxonomy_term_reference',
+ );
+
+ return $field_bases;
+}
diff --git a/sites/default/modules/features/popsu_villes/popsu_villes.features.field_instance.inc b/sites/default/modules/features/popsu_villes/popsu_villes.features.field_instance.inc
new file mode 100644
index 0000000..3109361
--- /dev/null
+++ b/sites/default/modules/features/popsu_villes/popsu_villes.features.field_instance.inc
@@ -0,0 +1,489 @@
+ 'popsu_ville',
+ 'default_value' => NULL,
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'module' => 'text',
+ 'settings' => array(),
+ 'type' => 'text_default',
+ 'weight' => 0,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_ville_body',
+ 'label' => 'Texte d\'introduction',
+ 'required' => 0,
+ 'settings' => array(
+ 'display_summary' => 0,
+ 'text_processing' => 1,
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'text',
+ 'settings' => array(
+ 'rows' => 20,
+ 'summary_rows' => 5,
+ ),
+ 'type' => 'text_textarea_with_summary',
+ 'weight' => 2,
+ ),
+ );
+
+ // Exported field_instance: 'node-popsu_ville-field_popsu_ville_coordinateur'.
+ $field_instances['node-popsu_ville-field_popsu_ville_coordinateur'] = array(
+ 'bundle' => 'popsu_ville',
+ 'default_value' => NULL,
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'module' => 'text',
+ 'settings' => array(),
+ 'type' => 'text_default',
+ 'weight' => 2,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_ville_coordinateur',
+ 'label' => 'Coordinateur des acteurs',
+ 'required' => 0,
+ 'settings' => array(
+ 'text_processing' => 1,
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'text',
+ 'settings' => array(
+ 'rows' => 5,
+ ),
+ 'type' => 'text_textarea',
+ 'weight' => 4,
+ ),
+ );
+
+ // Exported field_instance: 'node-popsu_ville-field_popsu_ville_equipe'.
+ $field_instances['node-popsu_ville-field_popsu_ville_equipe'] = array(
+ 'bundle' => 'popsu_ville',
+ 'default_value' => NULL,
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'module' => 'text',
+ 'settings' => array(),
+ 'type' => 'text_default',
+ 'weight' => 1,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_ville_equipe',
+ 'label' => 'Equipe de recherche',
+ 'required' => 0,
+ 'settings' => array(
+ 'text_processing' => 1,
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'text',
+ 'settings' => array(
+ 'rows' => 5,
+ ),
+ 'type' => 'text_textarea',
+ 'weight' => 3,
+ ),
+ );
+
+ // Exported field_instance:
+ // 'node-popsu_ville-field_popsu_ville_images_illustr'.
+ $field_instances['node-popsu_ville-field_popsu_ville_images_illustr'] = array(
+ 'bundle' => 'popsu_ville',
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 3,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_ville_images_illustr',
+ 'label' => 'Grandes images d\'illustration',
+ 'required' => 0,
+ 'settings' => array(
+ 'alt_field' => 0,
+ 'default_image' => 0,
+ 'file_directory' => '',
+ 'file_extensions' => 'png gif jpg jpeg',
+ 'filefield_paths' => array(
+ 'active_updating' => 0,
+ 'file_name' => array(
+ 'options' => array(
+ 'pathauto' => 1,
+ 'transliterate' => 1,
+ ),
+ 'value' => '[file:ffp-name-only-original].[file:ffp-extension-original]',
+ ),
+ 'file_path' => array(
+ 'options' => array(
+ 'pathauto' => 1,
+ 'transliterate' => 1,
+ ),
+ 'value' => 'nodes/[node:content-type]/[node:nid]/illustr',
+ ),
+ 'retroactive_update' => 0,
+ ),
+ 'max_filesize' => '',
+ 'max_resolution' => '',
+ 'min_resolution' => '',
+ 'title_field' => 1,
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'image',
+ 'settings' => array(
+ 'insert' => 0,
+ 'insert_absolute' => FALSE,
+ 'insert_class' => '',
+ 'insert_default' => array(
+ 0 => 'auto',
+ ),
+ 'insert_styles' => array(
+ 0 => 'auto',
+ ),
+ 'insert_width' => '',
+ 'preview_image_style' => 'thumbnail',
+ 'progress_indicator' => 'throbber',
+ ),
+ 'type' => 'image_image',
+ 'weight' => 5,
+ ),
+ );
+
+ // Exported field_instance: 'node-popsu_ville-field_popsu_ville_images_small'.
+ $field_instances['node-popsu_ville-field_popsu_ville_images_small'] = array(
+ 'bundle' => 'popsu_ville',
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 4,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_ville_images_small',
+ 'label' => 'Petites images d\'illustration',
+ 'required' => 0,
+ 'settings' => array(
+ 'alt_field' => 0,
+ 'default_image' => 0,
+ 'file_directory' => '',
+ 'file_extensions' => 'png gif jpg jpeg',
+ 'filefield_paths' => array(
+ 'active_updating' => 0,
+ 'file_name' => array(
+ 'options' => array(
+ 'pathauto' => 1,
+ 'transliterate' => 1,
+ ),
+ 'value' => '[file:ffp-name-only-original].[file:ffp-extension-original]',
+ ),
+ 'file_path' => array(
+ 'options' => array(
+ 'pathauto' => 1,
+ 'transliterate' => 1,
+ ),
+ 'value' => 'nodes/[node:content-type]/[node:nid]/small',
+ ),
+ 'retroactive_update' => 0,
+ ),
+ 'max_filesize' => '',
+ 'max_resolution' => '',
+ 'min_resolution' => '',
+ 'title_field' => 1,
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'image',
+ 'settings' => array(
+ 'insert' => 0,
+ 'insert_absolute' => FALSE,
+ 'insert_class' => '',
+ 'insert_default' => array(
+ 0 => 'auto',
+ ),
+ 'insert_styles' => array(
+ 0 => 'auto',
+ ),
+ 'insert_width' => '',
+ 'preview_image_style' => 'thumbnail',
+ 'progress_indicator' => 'throbber',
+ ),
+ 'type' => 'image_image',
+ 'weight' => 6,
+ ),
+ );
+
+ // Exported field_instance:
+ // 'node-popsu_ville-field_popsu_ville_partenairesimg'.
+ $field_instances['node-popsu_ville-field_popsu_ville_partenairesimg'] = array(
+ 'bundle' => 'popsu_ville',
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 8,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_ville_partenairesimg',
+ 'label' => 'Logos des partenaires',
+ 'required' => 0,
+ 'settings' => array(
+ 'alt_field' => 0,
+ 'default_image' => 0,
+ 'file_directory' => '',
+ 'file_extensions' => 'png gif jpg jpeg',
+ 'filefield_paths' => array(
+ 'active_updating' => 0,
+ 'file_name' => array(
+ 'options' => array(
+ 'pathauto' => 1,
+ 'transliterate' => 1,
+ ),
+ 'value' => '[file:ffp-name-only-original].[file:ffp-extension-original]',
+ ),
+ 'file_path' => array(
+ 'options' => array(
+ 'pathauto' => 1,
+ 'transliterate' => 1,
+ ),
+ 'value' => 'nodes/[node:content-type]/[node:nid]/partenaireslogo',
+ ),
+ 'retroactive_update' => 0,
+ ),
+ 'max_filesize' => '',
+ 'max_resolution' => '',
+ 'min_resolution' => '',
+ 'title_field' => 1,
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'image',
+ 'settings' => array(
+ 'insert' => 0,
+ 'insert_absolute' => FALSE,
+ 'insert_class' => '',
+ 'insert_default' => array(
+ 0 => 'auto',
+ ),
+ 'insert_styles' => array(
+ 0 => 'auto',
+ ),
+ 'insert_width' => '',
+ 'preview_image_style' => 'thumbnail',
+ 'progress_indicator' => 'throbber',
+ ),
+ 'type' => 'image_image',
+ 'weight' => 7,
+ ),
+ );
+
+ // Exported field_instance:
+ // 'node-popsu_ville-field_popsu_ville_partenairestxt'.
+ $field_instances['node-popsu_ville-field_popsu_ville_partenairestxt'] = array(
+ 'bundle' => 'popsu_ville',
+ 'default_value' => NULL,
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'module' => 'text',
+ 'settings' => array(),
+ 'type' => 'text_default',
+ 'weight' => 7,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_ville_partenairestxt',
+ 'label' => 'Texte des partenaires',
+ 'required' => 0,
+ 'settings' => array(
+ 'text_processing' => 0,
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'text',
+ 'settings' => array(
+ 'rows' => 5,
+ ),
+ 'type' => 'text_textarea',
+ 'weight' => 8,
+ ),
+ );
+
+ // Exported field_instance: 'node-popsu_ville-field_popsu_ville_popsu'.
+ $field_instances['node-popsu_ville-field_popsu_ville_popsu'] = array(
+ 'bundle' => 'popsu_ville',
+ 'default_value' => array(
+ 0 => array(
+ 'tid' => 1,
+ ),
+ ),
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 5,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_ville_popsu',
+ 'label' => 'POPSU',
+ 'required' => 1,
+ 'settings' => array(
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'options',
+ 'settings' => array(),
+ 'type' => 'options_select',
+ 'weight' => 1,
+ ),
+ );
+
+ // Exported field_instance: 'node-popsu_ville-field_popsu_ville_ville'.
+ $field_instances['node-popsu_ville-field_popsu_ville_ville'] = array(
+ 'bundle' => 'popsu_ville',
+ 'default_value' => NULL,
+ 'deleted' => 0,
+ 'description' => '',
+ 'display' => array(
+ 'default' => array(
+ 'label' => 'hidden',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 6,
+ ),
+ 'teaser' => array(
+ 'label' => 'above',
+ 'settings' => array(),
+ 'type' => 'hidden',
+ 'weight' => 0,
+ ),
+ ),
+ 'entity_type' => 'node',
+ 'field_name' => 'field_popsu_ville_ville',
+ 'label' => 'Ville',
+ 'required' => 1,
+ 'settings' => array(
+ 'user_register_form' => FALSE,
+ ),
+ 'widget' => array(
+ 'active' => 1,
+ 'module' => 'options',
+ 'settings' => array(),
+ 'type' => 'options_select',
+ 'weight' => 2,
+ ),
+ );
+
+ // Translatables
+ // Included for use with string extractors like potx.
+ t('Coordinateur des acteurs');
+ t('Equipe de recherche');
+ t('Grandes images d\'illustration');
+ t('Logos des partenaires');
+ t('POPSU');
+ t('Petites images d\'illustration');
+ t('Texte d\'introduction');
+ t('Texte des partenaires');
+ t('Ville');
+
+ return $field_instances;
+}
diff --git a/sites/default/modules/features/popsu_villes/popsu_villes.features.inc b/sites/default/modules/features/popsu_villes/popsu_villes.features.inc
index 75571b9..813f4d9 100644
--- a/sites/default/modules/features/popsu_villes/popsu_villes.features.inc
+++ b/sites/default/modules/features/popsu_villes/popsu_villes.features.inc
@@ -7,24 +7,19 @@
/**
* Implements hook_ctools_plugin_api().
*/
-function popsu_villes_ctools_plugin_api() {
- list($module, $api) = func_get_args();
+function popsu_villes_ctools_plugin_api($module = NULL, $api = NULL) {
if ($module == "boxes" && $api == "box") {
return array("version" => "1");
}
- list($module, $api) = func_get_args();
if ($module == "context" && $api == "context") {
return array("version" => "3");
}
- list($module, $api) = func_get_args();
if ($module == "field_group" && $api == "field_group") {
return array("version" => "1");
}
- list($module, $api) = func_get_args();
if ($module == "page_manager" && $api == "pages_default") {
return array("version" => "1");
}
- list($module, $api) = func_get_args();
if ($module == "strongarm" && $api == "strongarm") {
return array("version" => "1");
}
@@ -33,8 +28,8 @@ function popsu_villes_ctools_plugin_api() {
/**
* Implements hook_views_api().
*/
-function popsu_villes_views_api() {
- return array("version" => "3.0");
+function popsu_villes_views_api($module = NULL, $api = NULL) {
+ return array("api" => "3.0");
}
/**
@@ -45,47 +40,30 @@ function popsu_villes_image_default_styles() {
// Exported image style: popsu-villes-grande-image.
$styles['popsu-villes-grande-image'] = array(
- 'name' => 'popsu-villes-grande-image',
+ 'label' => 'popsu-villes-grande-image',
'effects' => array(
- 2 => array(
- 'label' => 'Adaptive',
- 'help' => 'Adaptive image scale according to client resolution.',
- 'effect callback' => 'image_scale_effect',
- 'dimensions callback' => 'image_scale_dimensions',
- 'form callback' => 'adaptive_image_scale_form',
- 'summary theme' => 'adaptive_image_scale_summary',
- 'module' => 'adaptive_image',
- 'name' => 'adaptive_image',
+ 21 => array(
+ 'name' => 'image_scale_and_crop',
'data' => array(
- 'resolutions' => '1382, 992, 768, 480',
- 'mobile_first' => 1,
- 'height' => '',
- 'width' => '1382',
- 'upscale' => '',
+ 'width' => 485,
+ 'height' => 324,
),
- 'weight' => '2',
+ 'weight' => 1,
),
),
);
// Exported image style: popsu-villes-listing-small.
$styles['popsu-villes-listing-small'] = array(
- 'name' => 'popsu-villes-listing-small',
+ 'label' => 'popsu-villes-listing-small',
'effects' => array(
5 => array(
- 'label' => 'Mise à l’échelle et recadrage',
- 'help' => 'La mise à l\'échelle et le recadrage maintiendront les proportions originales de l\'image puis recadreront la dimension la plus large. C\'est très utile pour créer des vignettes carrées sans étirer les images.',
- 'effect callback' => 'image_scale_and_crop_effect',
- 'dimensions callback' => 'image_resize_dimensions',
- 'form callback' => 'image_resize_form',
- 'summary theme' => 'image_resize_summary',
- 'module' => 'image',
'name' => 'image_scale_and_crop',
'data' => array(
- 'width' => '101',
- 'height' => '87',
+ 'width' => 101,
+ 'height' => 87,
),
- 'weight' => '1',
+ 'weight' => 1,
),
),
);
@@ -107,5 +85,6 @@ function popsu_villes_node_info() {
'help' => '',
),
);
+ drupal_alter('node_info', $items);
return $items;
}
diff --git a/sites/default/modules/features/popsu_villes/popsu_villes.info b/sites/default/modules/features/popsu_villes/popsu_villes.info
index 4642a2e..5b5f268 100644
--- a/sites/default/modules/features/popsu_villes/popsu_villes.info
+++ b/sites/default/modules/features/popsu_villes/popsu_villes.info
@@ -2,7 +2,6 @@ name = POPSU Villes
description = POPSU - Type de contenu Villes
core = 7.x
package = POPSU
-php = 5.2.4
version = 7.x-1.0-beta9
project = popsu_villes
dependencies[] = block
@@ -13,6 +12,7 @@ dependencies[] = field_group
dependencies[] = filefield_paths
dependencies[] = image
dependencies[] = menu_block
+dependencies[] = node
dependencies[] = page_manager
dependencies[] = popsu_structure
dependencies[] = popsu_taxonomies
@@ -28,20 +28,31 @@ features[ctools][] = field_group:field_group:1
features[ctools][] = page_manager:pages_default:1
features[ctools][] = strongarm:strongarm:1
features[ctools][] = views:views_default:3.0
-features[features_api][] = api:1
-features[field][] = node-popsu_ville-field_popsu_ville_body
-features[field][] = node-popsu_ville-field_popsu_ville_coordinateur
-features[field][] = node-popsu_ville-field_popsu_ville_equipe
-features[field][] = node-popsu_ville-field_popsu_ville_images_illustr
-features[field][] = node-popsu_ville-field_popsu_ville_images_small
-features[field][] = node-popsu_ville-field_popsu_ville_partenairesimg
-features[field][] = node-popsu_ville-field_popsu_ville_partenairestxt
+features[features_api][] = api:2
+features[field_base][] = field_popsu_ville_body
+features[field_base][] = field_popsu_ville_coordinateur
+features[field_base][] = field_popsu_ville_equipe
+features[field_base][] = field_popsu_ville_images_illustr
+features[field_base][] = field_popsu_ville_images_small
+features[field_base][] = field_popsu_ville_partenairesimg
+features[field_base][] = field_popsu_ville_partenairestxt
+features[field_base][] = field_popsu_ville_popsu
+features[field_base][] = field_popsu_ville_ville
features[field_group][] = group_popsu_ville_basic|node|popsu_ville|form
features[field_group][] = group_popsu_ville_coordo|node|popsu_ville|form
features[field_group][] = group_popsu_ville_equipe|node|popsu_ville|form
features[field_group][] = group_popsu_ville_images|node|popsu_ville|form
features[field_group][] = group_popsu_ville_intro|node|popsu_ville|form
features[field_group][] = group_popsu_ville_partenaires|node|popsu_ville|form
+features[field_instance][] = node-popsu_ville-field_popsu_ville_body
+features[field_instance][] = node-popsu_ville-field_popsu_ville_coordinateur
+features[field_instance][] = node-popsu_ville-field_popsu_ville_equipe
+features[field_instance][] = node-popsu_ville-field_popsu_ville_images_illustr
+features[field_instance][] = node-popsu_ville-field_popsu_ville_images_small
+features[field_instance][] = node-popsu_ville-field_popsu_ville_partenairesimg
+features[field_instance][] = node-popsu_ville-field_popsu_ville_partenairestxt
+features[field_instance][] = node-popsu_ville-field_popsu_ville_popsu
+features[field_instance][] = node-popsu_ville-field_popsu_ville_ville
features[image][] = popsu-villes-grande-image
features[image][] = popsu-villes-listing-small
features[node][] = popsu_ville
@@ -53,4 +64,5 @@ features[variable][] = menu_parent_popsu_ville
features[variable][] = node_options_popsu_ville
features[variable][] = node_preview_popsu_ville
features[variable][] = node_submitted_popsu_ville
+features[variable][] = xmlsitemap_settings_node_popsu_ville
features[views_view][] = villes
diff --git a/sites/default/modules/features/popsu_villes/popsu_villes.pages_default.inc b/sites/default/modules/features/popsu_villes/popsu_villes.pages_default.inc
index b7c5e13..15085fa 100644
--- a/sites/default/modules/features/popsu_villes/popsu_villes.pages_default.inc
+++ b/sites/default/modules/features/popsu_villes/popsu_villes.pages_default.inc
@@ -77,303 +77,343 @@ function popsu_villes_default_page_manager_handlers() {
);
$display->cache = array();
$display->title = '%node:title';
+ $display->uuid = '2a15c48c-e269-41d7-900d-2968a7252ef3';
+ $display->storage_type = 'page_manager';
+ $display->storage_id = 'node_view_panel_context_2';
$display->content = array();
$display->panels = array();
- $pane = new stdClass();
- $pane->pid = 'new-1';
- $pane->panel = 'footer';
- $pane->type = 'views_panes';
- $pane->subtype = 'colloques-panel_pane_1';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'arguments' => array(
- 'field_popsu_colloque_ville_tid' => '%taxonomy_term:tid',
- 'field_popsu_colloque_popsu_tid' => '%taxonomy_term_2:tid',
- ),
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => 'pane-colloque',
- 'css_class' => 'pane-74-26',
- );
- $pane->extras = array();
- $pane->position = 0;
- $pane->locks = array();
- $display->content['new-1'] = $pane;
- $display->panels['footer'][0] = 'new-1';
- $pane = new stdClass();
- $pane->pid = 'new-2';
- $pane->panel = 'footer';
- $pane->type = 'views_panes';
- $pane->subtype = 'publications-panel_pane_1';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'arguments' => array(
- 'field_popsu_publication_ville_tid' => '%taxonomy_term:tid',
- 'field_popsu_publication_popsu_tid' => '%taxonomy_term_2:tid',
- ),
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => 'pane-publication',
- 'css_class' => 'layout-88p pane-74-26 clearfix',
- );
- $pane->extras = array();
- $pane->position = 1;
- $pane->locks = array();
- $display->content['new-2'] = $pane;
- $display->panels['footer'][1] = 'new-2';
- $pane = new stdClass();
- $pane->pid = 'new-3';
- $pane->panel = 'footer';
- $pane->type = 'custom';
- $pane->subtype = 'custom';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'admin_title' => 'POPSU Fermeture de liste',
- 'title' => '',
- 'body' => '
',
- 'format' => 'php_code',
- 'substitute' => 0,
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => '',
- 'css_class' => 'border-last layout-64-5p',
- );
- $pane->extras = array();
- $pane->position = 2;
- $pane->locks = array();
- $display->content['new-3'] = $pane;
- $display->panels['footer'][2] = 'new-3';
- $pane = new stdClass();
- $pane->pid = 'new-4';
- $pane->panel = 'left';
- $pane->type = 'entity_field';
- $pane->subtype = 'node:field_popsu_ville_images_illustr';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'label' => 'title',
- 'formatter' => 'image',
- 'delta_limit' => '0',
- 'delta_offset' => '0',
- 'delta_reversed' => 0,
- 'formatter_settings' => array(
- 'image_style' => 'popsu-villes-grande-image',
- 'image_link' => '',
- ),
- 'context' => 'argument_entity_id:node_1',
- 'override_title' => 1,
- 'override_title_text' => '',
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => 'panel-ville-grande-image',
- 'css_class' => 'image-decallee',
- );
- $pane->extras = array();
- $pane->position = 0;
- $pane->locks = array();
- $display->content['new-4'] = $pane;
- $display->panels['left'][0] = 'new-4';
- $pane = new stdClass();
- $pane->pid = 'new-5';
- $pane->panel = 'left';
- $pane->type = 'entity_field';
- $pane->subtype = 'node:field_popsu_ville_body';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'label' => 'title',
- 'formatter' => 'text_default',
- 'delta_limit' => 0,
- 'delta_offset' => '0',
- 'delta_reversed' => FALSE,
- 'formatter_settings' => array(),
- 'context' => 'argument_entity_id:node_1',
- 'override_title' => 1,
- 'override_title_text' => '',
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => 'panel-ville-texte-intro',
- 'css_class' => 'layout-88p',
- );
- $pane->extras = array();
- $pane->position = 1;
- $pane->locks = array();
- $display->content['new-5'] = $pane;
- $display->panels['left'][1] = 'new-5';
- $pane = new stdClass();
- $pane->pid = 'new-6';
- $pane->panel = 'right';
- $pane->type = 'entity_field';
- $pane->subtype = 'node:field_popsu_ville_equipe';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'label' => 'title',
- 'formatter' => 'text_default',
- 'delta_limit' => 0,
- 'delta_offset' => '0',
- 'delta_reversed' => FALSE,
- 'formatter_settings' => array(),
- 'context' => 'argument_entity_id:node_1',
- 'override_title' => 0,
- 'override_title_text' => '',
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => 'accordion-h2-ville-equipe',
- 'css_class' => 'accordion-h2-ex accordion-h2-panel',
- );
- $pane->extras = array();
- $pane->position = 0;
- $pane->locks = array();
- $display->content['new-6'] = $pane;
- $display->panels['right'][0] = 'new-6';
- $pane = new stdClass();
- $pane->pid = 'new-7';
- $pane->panel = 'right';
- $pane->type = 'entity_field';
- $pane->subtype = 'node:field_popsu_ville_coordinateur';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'label' => 'title',
- 'formatter' => 'text_default',
- 'delta_limit' => 0,
- 'delta_offset' => '0',
- 'delta_reversed' => FALSE,
- 'formatter_settings' => array(),
- 'context' => 'argument_entity_id:node_1',
- 'override_title' => 1,
- 'override_title_text' => 'Coordinateur des acteurs',
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => 'accordion-h2-ville-coordinateur',
- 'css_class' => 'accordion-h2-ex accordion-h2-panel',
- );
- $pane->extras = array();
- $pane->position = 1;
- $pane->locks = array();
- $display->content['new-7'] = $pane;
- $display->panels['right'][1] = 'new-7';
- $pane = new stdClass();
- $pane->pid = 'new-8';
- $pane->panel = 'right';
- $pane->type = 'entity_field';
- $pane->subtype = 'node:field_popsu_ville_partenairesimg';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'label' => 'title',
- 'formatter' => 'image',
- 'delta_limit' => '0',
- 'delta_offset' => '0',
- 'delta_reversed' => 0,
- 'formatter_settings' => array(
- 'image_style' => '',
- 'image_link' => '',
- ),
- 'context' => 'argument_entity_id:node_1',
- 'override_title' => 1,
- 'override_title_text' => 'Partenaires',
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => 'accordion-h2-ville-partenaires',
- 'css_class' => 'accordion-h2-ex accordion-h2-panel',
- );
- $pane->extras = array();
- $pane->position = 2;
- $pane->locks = array();
- $display->content['new-8'] = $pane;
- $display->panels['right'][2] = 'new-8';
- $pane = new stdClass();
- $pane->pid = 'new-9';
- $pane->panel = 'right';
- $pane->type = 'custom';
- $pane->subtype = 'custom';
- $pane->shown = TRUE;
- $pane->access = array();
- $pane->configuration = array(
- 'admin_title' => 'POPSU Fermeture de liste',
- 'title' => '',
- 'body' => '
',
- 'format' => 'php_code',
- 'substitute' => 0,
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => '',
- 'css_class' => 'border-last',
- );
- $pane->extras = array();
- $pane->position = 3;
- $pane->locks = array();
- $display->content['new-9'] = $pane;
- $display->panels['right'][3] = 'new-9';
- $pane = new stdClass();
- $pane->pid = 'new-10';
- $pane->panel = 'top';
- $pane->type = 'node_links';
- $pane->subtype = 'node_links';
- $pane->shown = FALSE;
- $pane->access = array();
- $pane->configuration = array(
- 'override_title' => 0,
- 'override_title_text' => '',
- 'build_mode' => 'full',
- 'identifier' => '',
- 'link' => 1,
- 'context' => 'argument_entity_id:node_1',
- );
- $pane->cache = array();
- $pane->style = array(
- 'settings' => NULL,
- );
- $pane->css = array(
- 'css_id' => '',
- 'css_class' => 'admin-add-item',
- );
- $pane->extras = array();
- $pane->position = 0;
- $pane->locks = array();
- $display->content['new-10'] = $pane;
- $display->panels['top'][0] = 'new-10';
+ $pane = new stdClass();
+ $pane->pid = 'new-19dd72c5-0fb3-4d57-a1d9-dec43cd726bb';
+ $pane->panel = 'footer';
+ $pane->type = 'views_panes';
+ $pane->subtype = 'colloques-panel_pane_1';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'arguments' => array(
+ 'field_popsu_colloque_ville_tid' => '%taxonomy_term:tid',
+ 'field_popsu_colloque_popsu_tid' => '%taxonomy_term_2:tid',
+ ),
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => 'pane-colloque',
+ 'css_class' => 'pane-74-26',
+ );
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = '19dd72c5-0fb3-4d57-a1d9-dec43cd726bb';
+ $display->content['new-19dd72c5-0fb3-4d57-a1d9-dec43cd726bb'] = $pane;
+ $display->panels['footer'][0] = 'new-19dd72c5-0fb3-4d57-a1d9-dec43cd726bb';
+ $pane = new stdClass();
+ $pane->pid = 'new-20e52524-8591-4ca9-9cf9-b0812e4c1b22';
+ $pane->panel = 'footer';
+ $pane->type = 'views_panes';
+ $pane->subtype = 'publications-panel_pane_1';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'arguments' => array(
+ 'field_popsu_publication_ville_tid' => '%taxonomy_term:tid',
+ 'field_popsu_publication_popsu_tid' => '%taxonomy_term_2:tid',
+ ),
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => 'pane-publication',
+ 'css_class' => 'layout-88p pane-74-26 clearfix',
+ );
+ $pane->extras = array();
+ $pane->position = 1;
+ $pane->locks = array();
+ $pane->uuid = '20e52524-8591-4ca9-9cf9-b0812e4c1b22';
+ $display->content['new-20e52524-8591-4ca9-9cf9-b0812e4c1b22'] = $pane;
+ $display->panels['footer'][1] = 'new-20e52524-8591-4ca9-9cf9-b0812e4c1b22';
+ $pane = new stdClass();
+ $pane->pid = 'new-0847f350-e4ae-4918-94a5-88bbb2d8d2fb';
+ $pane->panel = 'footer';
+ $pane->type = 'custom';
+ $pane->subtype = 'custom';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'admin_title' => 'POPSU Fermeture de liste',
+ 'title' => '',
+ 'body' => '
',
+ 'format' => 'php_code',
+ 'substitute' => 0,
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => '',
+ 'css_class' => 'border-last layout-64-5p',
+ );
+ $pane->extras = array();
+ $pane->position = 2;
+ $pane->locks = array();
+ $pane->uuid = '0847f350-e4ae-4918-94a5-88bbb2d8d2fb';
+ $display->content['new-0847f350-e4ae-4918-94a5-88bbb2d8d2fb'] = $pane;
+ $display->panels['footer'][2] = 'new-0847f350-e4ae-4918-94a5-88bbb2d8d2fb';
+ $pane = new stdClass();
+ $pane->pid = 'new-4d97b26b-b3c7-4cf9-859f-7c86e93f4610';
+ $pane->panel = 'left';
+ $pane->type = 'entity_field';
+ $pane->subtype = 'node:field_popsu_ville_images_illustr';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'label' => 'title',
+ 'formatter' => 'image',
+ 'delta_limit' => '0',
+ 'delta_offset' => '0',
+ 'delta_reversed' => 0,
+ 'formatter_settings' => array(
+ 'image_style' => 'popsu-villes-grande-image',
+ 'image_link' => '',
+ ),
+ 'context' => 'argument_entity_id:node_1',
+ 'override_title' => 1,
+ 'override_title_text' => '',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => 'panel-ville-grande-image',
+ 'css_class' => 'image-decallee captioned',
+ );
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = '4d97b26b-b3c7-4cf9-859f-7c86e93f4610';
+ $display->content['new-4d97b26b-b3c7-4cf9-859f-7c86e93f4610'] = $pane;
+ $display->panels['left'][0] = 'new-4d97b26b-b3c7-4cf9-859f-7c86e93f4610';
+ $pane = new stdClass();
+ $pane->pid = 'new-95496ef6-19e2-49c4-8c59-f3d251199a84';
+ $pane->panel = 'left';
+ $pane->type = 'entity_field';
+ $pane->subtype = 'node:field_popsu_ville_body';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'label' => 'title',
+ 'formatter' => 'text_default',
+ 'delta_limit' => 0,
+ 'delta_offset' => '0',
+ 'delta_reversed' => FALSE,
+ 'formatter_settings' => array(),
+ 'context' => 'argument_entity_id:node_1',
+ 'override_title' => 1,
+ 'override_title_text' => '',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => 'panel-ville-texte-intro',
+ 'css_class' => 'layout-88p',
+ );
+ $pane->extras = array();
+ $pane->position = 1;
+ $pane->locks = array();
+ $pane->uuid = '95496ef6-19e2-49c4-8c59-f3d251199a84';
+ $display->content['new-95496ef6-19e2-49c4-8c59-f3d251199a84'] = $pane;
+ $display->panels['left'][1] = 'new-95496ef6-19e2-49c4-8c59-f3d251199a84';
+ $pane = new stdClass();
+ $pane->pid = 'new-8633443c-8d55-49e3-9e83-f316d9a5e06c';
+ $pane->panel = 'right';
+ $pane->type = 'entity_field';
+ $pane->subtype = 'node:field_popsu_ville_equipe';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'label' => 'title',
+ 'formatter' => 'text_default',
+ 'delta_limit' => 0,
+ 'delta_offset' => '0',
+ 'delta_reversed' => FALSE,
+ 'formatter_settings' => array(),
+ 'context' => 'argument_entity_id:node_1',
+ 'override_title' => 0,
+ 'override_title_text' => '',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => 'accordion-h2-ville-equipe',
+ 'css_class' => 'accordion-h2-ex accordion-h2-panel',
+ );
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = '8633443c-8d55-49e3-9e83-f316d9a5e06c';
+ $display->content['new-8633443c-8d55-49e3-9e83-f316d9a5e06c'] = $pane;
+ $display->panels['right'][0] = 'new-8633443c-8d55-49e3-9e83-f316d9a5e06c';
+ $pane = new stdClass();
+ $pane->pid = 'new-b7d934ba-cbdf-49d0-be81-f39b3cfc5f4c';
+ $pane->panel = 'right';
+ $pane->type = 'entity_field';
+ $pane->subtype = 'node:field_popsu_ville_coordinateur';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'label' => 'title',
+ 'formatter' => 'text_default',
+ 'delta_limit' => 0,
+ 'delta_offset' => '0',
+ 'delta_reversed' => FALSE,
+ 'formatter_settings' => array(),
+ 'context' => 'argument_entity_id:node_1',
+ 'override_title' => 1,
+ 'override_title_text' => 'Coordinateur des acteurs',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => 'accordion-h2-ville-coordinateur',
+ 'css_class' => 'accordion-h2-ex accordion-h2-panel',
+ );
+ $pane->extras = array();
+ $pane->position = 1;
+ $pane->locks = array();
+ $pane->uuid = 'b7d934ba-cbdf-49d0-be81-f39b3cfc5f4c';
+ $display->content['new-b7d934ba-cbdf-49d0-be81-f39b3cfc5f4c'] = $pane;
+ $display->panels['right'][1] = 'new-b7d934ba-cbdf-49d0-be81-f39b3cfc5f4c';
+ $pane = new stdClass();
+ $pane->pid = 'new-80da3ac7-1847-46ac-a958-ce6eec560906';
+ $pane->panel = 'right';
+ $pane->type = 'entity_field';
+ $pane->subtype = 'node:field_popsu_ville_partenairesimg';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'label' => 'title',
+ 'formatter' => 'image',
+ 'delta_limit' => '0',
+ 'delta_offset' => '0',
+ 'delta_reversed' => 0,
+ 'formatter_settings' => array(
+ 'image_style' => '',
+ 'image_link' => '',
+ ),
+ 'context' => 'argument_entity_id:node_1',
+ 'override_title' => 1,
+ 'override_title_text' => 'Partenaires',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => 'accordion-h2-ville-partenaires',
+ 'css_class' => 'accordion-h2-ex accordion-h2-panel',
+ );
+ $pane->extras = array();
+ $pane->position = 2;
+ $pane->locks = array();
+ $pane->uuid = '80da3ac7-1847-46ac-a958-ce6eec560906';
+ $display->content['new-80da3ac7-1847-46ac-a958-ce6eec560906'] = $pane;
+ $display->panels['right'][2] = 'new-80da3ac7-1847-46ac-a958-ce6eec560906';
+ $pane = new stdClass();
+ $pane->pid = 'new-7189d45f-6e1c-4fdf-9918-d16b4faa24a8';
+ $pane->panel = 'right';
+ $pane->type = 'views_panes';
+ $pane->subtype = 'documents-panel_pane_2';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'arguments' => array(
+ 'field_popsu_doc_parent_nid' => '%node:nid',
+ 'field_popsu_doc_type_tid' => '52',
+ ),
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => 'accordion-h2-documents',
+ 'css_class' => 'accordion-h2 accordion-h2-panel',
+ );
+ $pane->extras = array();
+ $pane->position = 3;
+ $pane->locks = array();
+ $pane->uuid = '7189d45f-6e1c-4fdf-9918-d16b4faa24a8';
+ $display->content['new-7189d45f-6e1c-4fdf-9918-d16b4faa24a8'] = $pane;
+ $display->panels['right'][3] = 'new-7189d45f-6e1c-4fdf-9918-d16b4faa24a8';
+ $pane = new stdClass();
+ $pane->pid = 'new-beaed20f-342d-4553-ad2e-9527df2d46e1';
+ $pane->panel = 'right';
+ $pane->type = 'custom';
+ $pane->subtype = 'custom';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'admin_title' => 'POPSU Fermeture de liste',
+ 'title' => '',
+ 'body' => '
',
+ 'format' => 'php_code',
+ 'substitute' => 0,
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => '',
+ 'css_class' => 'border-last',
+ );
+ $pane->extras = array();
+ $pane->position = 4;
+ $pane->locks = array();
+ $pane->uuid = 'beaed20f-342d-4553-ad2e-9527df2d46e1';
+ $display->content['new-beaed20f-342d-4553-ad2e-9527df2d46e1'] = $pane;
+ $display->panels['right'][4] = 'new-beaed20f-342d-4553-ad2e-9527df2d46e1';
+ $pane = new stdClass();
+ $pane->pid = 'new-c976aec7-6650-4c5c-bb9c-4a44e7872566';
+ $pane->panel = 'top';
+ $pane->type = 'node_links';
+ $pane->subtype = 'node_links';
+ $pane->shown = FALSE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'override_title' => 0,
+ 'override_title_text' => '',
+ 'build_mode' => 'full',
+ 'identifier' => '',
+ 'link' => 1,
+ 'context' => 'argument_entity_id:node_1',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array(
+ 'css_id' => '',
+ 'css_class' => 'admin-add-item',
+ );
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = 'c976aec7-6650-4c5c-bb9c-4a44e7872566';
+ $display->content['new-c976aec7-6650-4c5c-bb9c-4a44e7872566'] = $pane;
+ $display->panels['top'][0] = 'new-c976aec7-6650-4c5c-bb9c-4a44e7872566';
$display->hide_title = PANELS_TITLE_FIXED;
$display->title_pane = '0';
$handler->conf['display'] = $display;
diff --git a/sites/default/modules/features/popsu_villes/popsu_villes.strongarm.inc b/sites/default/modules/features/popsu_villes/popsu_villes.strongarm.inc
index 44b80e4..f954a5b 100644
--- a/sites/default/modules/features/popsu_villes/popsu_villes.strongarm.inc
+++ b/sites/default/modules/features/popsu_villes/popsu_villes.strongarm.inc
@@ -34,6 +34,9 @@ function popsu_villes_strongarm() {
'token' => array(
'custom_settings' => FALSE,
),
+ 'diff_standard' => array(
+ 'custom_settings' => FALSE,
+ ),
),
'extra_fields' => array(
'form' => array(
@@ -97,5 +100,15 @@ function popsu_villes_strongarm() {
$strongarm->value = 0;
$export['node_submitted_popsu_ville'] = $strongarm;
+ $strongarm = new stdClass();
+ $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
+ $strongarm->api_version = 1;
+ $strongarm->name = 'xmlsitemap_settings_node_popsu_ville';
+ $strongarm->value = array(
+ 'status' => '1',
+ 'priority' => '0.8',
+ );
+ $export['xmlsitemap_settings_node_popsu_ville'] = $strongarm;
+
return $export;
}
diff --git a/sites/default/modules/features/popsu_villes/popsu_villes.views_default.inc b/sites/default/modules/features/popsu_villes/popsu_villes.views_default.inc
index 2c3ca2a..7173afe 100644
--- a/sites/default/modules/features/popsu_villes/popsu_villes.views_default.inc
+++ b/sites/default/modules/features/popsu_villes/popsu_villes.views_default.inc
@@ -66,13 +66,11 @@ function popsu_villes_views_default_views() {
$handler = $view->new_display('page', 'Page', 'page_1');
$handler->display->display_options['defaults']['title'] = FALSE;
$handler->display->display_options['title'] = 'Villes';
- $handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
$handler->display->display_options['path'] = 'villes';
/* Display: Villes par POPSU Pane */
$handler = $view->new_display('panel_pane', 'Villes par POPSU Pane', 'panel_pane_1');
$handler->display->display_options['defaults']['css_class'] = FALSE;
- $handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
$handler->display->display_options['style_plugin'] = 'list';
$handler->display->display_options['style_options']['row_class'] = 'span2';
@@ -141,7 +139,6 @@ function popsu_villes_views_default_views() {
/* Display: Villes par ThemeTrans Pane */
$handler = $view->new_display('panel_pane', 'Villes par ThemeTrans Pane', 'panel_pane_2');
$handler->display->display_options['defaults']['css_class'] = FALSE;
- $handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
$handler->display->display_options['style_plugin'] = 'list';
$handler->display->display_options['style_options']['row_class'] = 'span2';
diff --git a/sites/default/themes/popsu/css/screen.css b/sites/default/themes/popsu/css/screen.css
index 5836172..4391243 100644
--- a/sites/default/themes/popsu/css/screen.css
+++ b/sites/default/themes/popsu/css/screen.css
@@ -711,7 +711,12 @@ a:hover {
margin-left: 100px; }
/* line 555, ../../vendor/gems/compass_twitter_bootstrap-2.0.3/stylesheets/compass_twitter_bootstrap/_mixins.scss */
-.span2, body.context-popsu-1 #header-wrapper #block-boxes-popsu_logo_popsu2, body.context-popsu-1 #header-wrapper #block-boxes-popsu_logo_popsueurope, body.context-popsu-2 #header-wrapper #block-boxes-popsu_logo_popsu1, body.context-popsu-2 #header-wrapper #block-boxes-popsu_logo_popsueurope, body.context-popsu-europe #header-wrapper #block-boxes-popsu_logo_popsu1, body.context-popsu-europe #header-wrapper #block-boxes-popsu_logo_popsu2 {
+.span2, body.context-popsu-1 #header-wrapper #block-boxes-popsu_logo_popsu2,
+body.context-popsu-1 #header-wrapper #block-boxes-popsu_logo_popsueurope,
+body.context-popsu-2 #header-wrapper #block-boxes-popsu_logo_popsu1,
+body.context-popsu-2 #header-wrapper #block-boxes-popsu_logo_popsueurope,
+body.context-popsu-europe #header-wrapper #block-boxes-popsu_logo_popsu1,
+body.context-popsu-europe #header-wrapper #block-boxes-popsu_logo_popsu2 {
width: 140px; }
/* line 556, ../../vendor/gems/compass_twitter_bootstrap-2.0.3/stylesheets/compass_twitter_bootstrap/_mixins.scss */
@@ -727,7 +732,15 @@ a:hover {
margin-left: 260px; }
/* line 555, ../../vendor/gems/compass_twitter_bootstrap-2.0.3/stylesheets/compass_twitter_bootstrap/_mixins.scss */
-.span4, body.context-popsu-1 #header-wrapper #block-boxes-popsu_logo_popsu1, body.context-popsu-2 #header-wrapper #block-boxes-popsu_logo_popsu2, body.context-popsu-europe #header-wrapper #block-boxes-popsu_logo_popsueurope, body.popsu-actu-section #header-wrapper #boxes-box-popsu_logo_popsuneutral, #main-wrapper #sidebar-first {
+.span4,
+body.context-popsu-1 #header-wrapper #block-boxes-popsu_logo_popsu1,
+body.context-popsu-2 #header-wrapper #block-boxes-popsu_logo_popsu2,
+body.context-popsu-europe #header-wrapper #block-boxes-popsu_logo_popsueurope,
+body.context-popsu-monde #header-wrapper #block-boxes-popsu_logo_popsumonde,
+body.context-popsu-territoires #header-wrapper #block-boxes-popsu_logo_popsuterrritoires,
+body.context-popsu-metropoles #header-wrapper #block-boxes-popsu_logo_popsumetropoles,
+body.popsu-actu-section #header-wrapper #boxes-box-popsu_logo_popsuneutral,
+#main-wrapper #sidebar-first {
width: 300px; }
/* line 556, ../../vendor/gems/compass_twitter_bootstrap-2.0.3/stylesheets/compass_twitter_bootstrap/_mixins.scss */
diff --git a/sites/default/themes/popsu/img/body-pattern-wide-trans.png b/sites/default/themes/popsu/img/body-pattern-wide-trans.png
index 1b4a870..d8cdc7a 100644
Binary files a/sites/default/themes/popsu/img/body-pattern-wide-trans.png and b/sites/default/themes/popsu/img/body-pattern-wide-trans.png differ
diff --git a/sites/default/themes/popsu/img/body-pattern-wide-trans_OLD.png b/sites/default/themes/popsu/img/body-pattern-wide-trans_OLD.png
new file mode 100644
index 0000000..1b4a870
Binary files /dev/null and b/sites/default/themes/popsu/img/body-pattern-wide-trans_OLD.png differ
diff --git a/sites/default/themes/popsu/img/carte/points/points_carte_1-2-3-5.png b/sites/default/themes/popsu/img/carte/points/points_carte_1-2-3-5.png
new file mode 100644
index 0000000..a71928a
Binary files /dev/null and b/sites/default/themes/popsu/img/carte/points/points_carte_1-2-3-5.png differ
diff --git a/sites/default/themes/popsu/img/carte/points/points_carte_1-2-5.png b/sites/default/themes/popsu/img/carte/points/points_carte_1-2-5.png
new file mode 100644
index 0000000..4cbc5a4
Binary files /dev/null and b/sites/default/themes/popsu/img/carte/points/points_carte_1-2-5.png differ
diff --git a/sites/default/themes/popsu/img/carte/points/points_carte_1-3-5.png b/sites/default/themes/popsu/img/carte/points/points_carte_1-3-5.png
new file mode 100644
index 0000000..759d115
Binary files /dev/null and b/sites/default/themes/popsu/img/carte/points/points_carte_1-3-5.png differ
diff --git a/sites/default/themes/popsu/img/carte/points/points_carte_1-5.png b/sites/default/themes/popsu/img/carte/points/points_carte_1-5.png
new file mode 100644
index 0000000..009d39f
Binary files /dev/null and b/sites/default/themes/popsu/img/carte/points/points_carte_1-5.png differ
diff --git a/sites/default/themes/popsu/img/carte/points/points_carte_2-3-5.png b/sites/default/themes/popsu/img/carte/points/points_carte_2-3-5.png
new file mode 100644
index 0000000..8a1c7a0
Binary files /dev/null and b/sites/default/themes/popsu/img/carte/points/points_carte_2-3-5.png differ
diff --git a/sites/default/themes/popsu/img/carte/points/points_carte_2-5.png b/sites/default/themes/popsu/img/carte/points/points_carte_2-5.png
new file mode 100644
index 0000000..e993749
Binary files /dev/null and b/sites/default/themes/popsu/img/carte/points/points_carte_2-5.png differ
diff --git a/sites/default/themes/popsu/img/carte/points/points_carte_5.png b/sites/default/themes/popsu/img/carte/points/points_carte_5.png
new file mode 100644
index 0000000..f6b8462
Binary files /dev/null and b/sites/default/themes/popsu/img/carte/points/points_carte_5.png differ
diff --git a/sites/default/themes/popsu/img/icons/facebook.png b/sites/default/themes/popsu/img/icons/facebook.png
new file mode 100644
index 0000000..7b52e14
Binary files /dev/null and b/sites/default/themes/popsu/img/icons/facebook.png differ
diff --git a/sites/default/themes/popsu/img/icons/twitter.png b/sites/default/themes/popsu/img/icons/twitter.png
new file mode 100644
index 0000000..ceff741
Binary files /dev/null and b/sites/default/themes/popsu/img/icons/twitter.png differ
diff --git a/sites/default/themes/popsu/img/icons/youtube-white.png b/sites/default/themes/popsu/img/icons/youtube-white.png
new file mode 100644
index 0000000..5522a61
Binary files /dev/null and b/sites/default/themes/popsu/img/icons/youtube-white.png differ
diff --git a/sites/default/themes/popsu/img/logos/logo-pages-froides-avec-baseline.png b/sites/default/themes/popsu/img/logos/logo-pages-froides-avec-baseline.png
index 9ac3ae6..9240cca 100644
Binary files a/sites/default/themes/popsu/img/logos/logo-pages-froides-avec-baseline.png and b/sites/default/themes/popsu/img/logos/logo-pages-froides-avec-baseline.png differ
diff --git a/sites/default/themes/popsu/img/logos/logo-pages-froides-avec-baseline_OLD.png b/sites/default/themes/popsu/img/logos/logo-pages-froides-avec-baseline_OLD.png
new file mode 100644
index 0000000..9ac3ae6
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/logo-pages-froides-avec-baseline_OLD.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsu1/logo-small-home-trans-old.png b/sites/default/themes/popsu/img/logos/popsu1/logo-small-home-trans-old.png
new file mode 100644
index 0000000..21ea9ff
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsu1/logo-small-home-trans-old.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsu1/logo-small-home-trans.png b/sites/default/themes/popsu/img/logos/popsu1/logo-small-home-trans.png
index 21ea9ff..d247c92 100644
Binary files a/sites/default/themes/popsu/img/logos/popsu1/logo-small-home-trans.png and b/sites/default/themes/popsu/img/logos/popsu1/logo-small-home-trans.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsu2/logo-small-home-trans-old.png b/sites/default/themes/popsu/img/logos/popsu2/logo-small-home-trans-old.png
new file mode 100644
index 0000000..f567e9c
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsu2/logo-small-home-trans-old.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsu2/logo-small-home-trans.png b/sites/default/themes/popsu/img/logos/popsu2/logo-small-home-trans.png
index f567e9c..7112333 100644
Binary files a/sites/default/themes/popsu/img/logos/popsu2/logo-small-home-trans.png and b/sites/default/themes/popsu/img/logos/popsu2/logo-small-home-trans.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsueurope/logo-small-home-trans-old.png b/sites/default/themes/popsu/img/logos/popsueurope/logo-small-home-trans-old.png
new file mode 100644
index 0000000..071eefa
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsueurope/logo-small-home-trans-old.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsueurope/logo-small-home-trans.png b/sites/default/themes/popsu/img/logos/popsueurope/logo-small-home-trans.png
index 071eefa..7e6f2d2 100644
Binary files a/sites/default/themes/popsu/img/logos/popsueurope/logo-small-home-trans.png and b/sites/default/themes/popsu/img/logos/popsueurope/logo-small-home-trans.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsumetropoles/logo-sidebar-trans.png b/sites/default/themes/popsu/img/logos/popsumetropoles/logo-sidebar-trans.png
new file mode 100644
index 0000000..1a8208f
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsumetropoles/logo-sidebar-trans.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsumetropoles/logo-small-home-trans.png b/sites/default/themes/popsu/img/logos/popsumetropoles/logo-small-home-trans.png
new file mode 100644
index 0000000..a421ae5
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsumetropoles/logo-small-home-trans.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsumetropoles/logo-small-trans.png b/sites/default/themes/popsu/img/logos/popsumetropoles/logo-small-trans.png
new file mode 100644
index 0000000..a07d6b6
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsumetropoles/logo-small-trans.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsumetropoles/logo-small-trans_new.png b/sites/default/themes/popsu/img/logos/popsumetropoles/logo-small-trans_new.png
new file mode 100644
index 0000000..a07d6b6
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsumetropoles/logo-small-trans_new.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsumetropoles/logo-small-trans_old.png b/sites/default/themes/popsu/img/logos/popsumetropoles/logo-small-trans_old.png
new file mode 100644
index 0000000..7a1d9bf
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsumetropoles/logo-small-trans_old.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsumonde/logo-sidebar-trans.png b/sites/default/themes/popsu/img/logos/popsumonde/logo-sidebar-trans.png
new file mode 100644
index 0000000..1e64f3d
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsumonde/logo-sidebar-trans.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsumonde/logo-small-home-trans.png b/sites/default/themes/popsu/img/logos/popsumonde/logo-small-home-trans.png
new file mode 100644
index 0000000..4f2e4a5
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsumonde/logo-small-home-trans.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsumonde/logo-small-trans.png b/sites/default/themes/popsu/img/logos/popsumonde/logo-small-trans.png
new file mode 100644
index 0000000..5b43662
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsumonde/logo-small-trans.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsumonde/logo-small-trans_new.png b/sites/default/themes/popsu/img/logos/popsumonde/logo-small-trans_new.png
new file mode 100644
index 0000000..5b43662
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsumonde/logo-small-trans_new.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsumonde/logo-small-trans_old.png b/sites/default/themes/popsu/img/logos/popsumonde/logo-small-trans_old.png
new file mode 100644
index 0000000..edc42bc
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsumonde/logo-small-trans_old.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsuterritoires/logo-sidebar-trans.png b/sites/default/themes/popsu/img/logos/popsuterritoires/logo-sidebar-trans.png
new file mode 100644
index 0000000..f1e045a
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsuterritoires/logo-sidebar-trans.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsuterritoires/logo-small-home-trans.png b/sites/default/themes/popsu/img/logos/popsuterritoires/logo-small-home-trans.png
new file mode 100644
index 0000000..39b8b34
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsuterritoires/logo-small-home-trans.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsuterritoires/logo-small-trans.png b/sites/default/themes/popsu/img/logos/popsuterritoires/logo-small-trans.png
new file mode 100644
index 0000000..1898b41
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsuterritoires/logo-small-trans.png differ
diff --git a/sites/default/themes/popsu/img/logos/popsuterritoires/logo-small-trans_old.png b/sites/default/themes/popsu/img/logos/popsuterritoires/logo-small-trans_old.png
new file mode 100644
index 0000000..ee988b2
Binary files /dev/null and b/sites/default/themes/popsu/img/logos/popsuterritoires/logo-small-trans_old.png differ
diff --git a/sites/default/themes/popsu/js/script.js b/sites/default/themes/popsu/js/script.js
index cf59885..92b63ae 100644
--- a/sites/default/themes/popsu/js/script.js
+++ b/sites/default/themes/popsu/js/script.js
@@ -120,6 +120,7 @@
trigger: "hover",
content: ""
});
/* BRUXELLES */
@@ -163,6 +164,7 @@
trigger: "hover",
content: ""
});
/* Hambourg */
@@ -189,6 +191,7 @@
"POPSU France 1 " +
"POPSU France 2 " +
"POPSU Europe " +
+ "POPSU Métropoles " +
""
});
/* LONDRES */
@@ -207,6 +210,7 @@
"POPSU France 1 " +
"POPSU France 2 " +
"POPSU Europe " +
+ "POPSU Métropoles " +
""
});
/* MALAGA */
@@ -225,6 +229,7 @@
"POPSU France 1 " +
"POPSU France 2 " +
"POPSU Europe " +
+ "POPSU Métropoles " +
""
});
@@ -243,6 +248,7 @@
content: ""
});
@@ -265,6 +271,7 @@
"POPSU France 1 " +
"POPSU France 2 " +
"POPSU Europe " +
+ "POPSU Métropoles " +
""
});
@@ -295,6 +302,7 @@
content: ""
});
@@ -316,6 +324,7 @@
content: ""
});
@@ -357,6 +366,7 @@
"POPSU France 1 " +
"POPSU France 2 " +
"POPSU Europe " +
+ "POPSU Métropoles " +
""
});
@@ -380,6 +390,68 @@
""
});
+ /* Brest */
+ $("#point-nid-1093").popover({
+ title: false,
+ trigger: "hover",
+ content: ""
+ });
+
+ /* Rouen */
+ $("#point-nid-1099").popover({
+ title: false,
+ trigger: "hover",
+ content: ""
+ });
+
+ /* Clermont-ferrand */
+ $("#point-nid-1094").popover({
+ title: false,
+ trigger: "hover",
+ content: ""
+ });
+
+ /* Dijon */
+ $("#point-nid-1095").popover({
+ title: false,
+ trigger: "hover",
+ content: ""
+ });
+
+ /* Nice */
+ $("#point-nid-1098").popover({
+ title: false,
+ trigger: "hover",
+ content: ""
+ });
+
+ /* Metz */
+ $("#point-nid-1097").popover({
+ title: false,
+ trigger: "hover",
+ content: ""
+ });
+
+ /* Nancy */
+ $("#point-nid-1102").popover({
+ title: false,
+ trigger: "hover",
+ content: ""
+ });
$.each($(".captioned img"), function(legend, item) {
@@ -394,24 +466,3 @@
}); })(jQuery);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sites/default/themes/popsu/less/content-all.css.less b/sites/default/themes/popsu/less/content-all.css.less
index f532c0d..a482bab 100644
--- a/sites/default/themes/popsu/less/content-all.css.less
+++ b/sites/default/themes/popsu/less/content-all.css.less
@@ -202,15 +202,17 @@ table.views-view-grid tbody tr td.col-last {
cursor: text;
}
#accordion-h2-partenaires,
-#accordion-h2-popsueurope-home,
+// #accordion-h2-popsuterritoires-home,
+#accordion-h2-popsumonde-home,
#accordion-h2-liste-themes-trans {
border-bottom: 1px solid #000;
margin-bottom: 22px;
}
#accordion-h2-partenaires,
-#accordion-h2-projetseurope,
-#accordion-h2-popsueurope-home {
+// #accordion-h2-popsuterritoires-home,
+// #accordion-h2-popsueurope-home,
+#accordion-h2-popsumonde-home{
padding-bottom: 5px;
}
@@ -549,7 +551,10 @@ ul.document-files {
body.path-popsu-europe-accueil,
body.path-popsu1-accueil,
-body.path-popsu2-accueil {
+body.path-popsu2-accueil,
+body.path-popsu-territoires-accueil,
+body.path-popsu-monde-accueil,
+body.path-popsu-metropoles-accueil {
#content-wrapper {
h1#page-title {
display: none;
@@ -682,27 +687,35 @@ body.front {
#logo-home-popsu1 ul.logos {
background: url(../img/logos/popsu1/logo-small-home-trans.png) no-repeat top center;
}
-
#logo-home-popsu2 ul.logos {
background: url(../img/logos/popsu2/logo-small-home-trans.png) no-repeat top center;
}
-
#logo-home-popsueurope ul.logos {
background: url(../img/logos/popsueurope/logo-small-home-trans.png) no-repeat top center;
margin-right: 0;
}
- ul.logos li {
- display: none;
+ #logo-home-popsuterritoires ul.logos {
+ background: url(../img/logos/popsuterritoires/logo-small-home-trans.png) no-repeat top center;
}
+ #logo-home-popsumetropoles ul.logos {
+ background: url(../img/logos/popsumetropoles/logo-small-home-trans.png) no-repeat top center;
+ }
+ #logo-home-popsumonde ul.logos {
+ background: url(../img/logos/popsumonde/logo-small-home-trans.png) no-repeat top center;
+ margin-right: 0;
+ }
+ ul.logos li {display: none;}
#logo-home-popsu1 ul.logos:hover,
#logo-home-popsu2 ul.logos:hover,
- #logo-home-popsueurope ul.logos:hover {
+ #logo-home-popsueurope ul.logos:hover,
+ #logo-home-popsuterritoires ul.logos:hover,
+ #logo-home-popsumetropoles ul.logos:hover,
+ #logo-home-popsumonde ul.logos:hover{
background: none;
}
ul.logos:hover li {
display: block;
}
-
}
#logos-partenaires-home {
@@ -791,8 +804,6 @@ body.front {
// background-size: contain;
// }
-
-
.col-logo {
margin-top: 20px;
margin-left: 50px;
@@ -1090,6 +1101,24 @@ body.logged-in #content-tabs ul.tabs.primary {
.POPSU1.POPSU2.POPSU.Europe .map-title {
background-image: url("../img/carte/points/points_carte_1-2-3.png");
}
+ .POPSU1.POPSU2.Métropoles .map-title {
+ background-image: url("../img/carte/points/points_carte_1-2-5.png");
+ }
+ .Métropoles .map-title {
+ background-image: url("../img/carte/points/points_carte_5.png");
+ }
+ .POPSU1.POPSU2.POPSU.Europe.Métropoles .map-title {
+ background-image: url("../img/carte/points/points_carte_1-2-3-5.png");
+ }
+ .POPSU1.POPSU.Europe.Métropoles .map-title {
+ background-image: url("../img/carte/points/points_carte_1-3-5.png");
+ }
+ .POPSU2.POPSU.Europe.Métropoles .map-title {
+ background-image: url("../img/carte/points/points_carte_2-3-5.png");
+ }
+ .POPSU2.POPSU.Métropoles .map-title {
+ background-image: url("../img/carte/points/points_carte_2-5.png");
+ }
@@ -1202,8 +1231,8 @@ body.logged-in #content-tabs ul.tabs.primary {
.map-title {
background-position: top left;
padding-bottom: 0;
- padding-left: 28px;
- padding-top: 7px;
+ padding-left: 30px;
+ padding-top: 11px;
}
}
/* Londres */
@@ -1225,7 +1254,6 @@ body.logged-in #content-tabs ul.tabs.primary {
#point-nid-882.placement-carte {
margin-left: 280px; /* -55 */
margin-top: 597px; /* -172 */
-
.map-title {
background-position: top left;
padding-bottom: 10px;
@@ -1313,8 +1341,14 @@ body.logged-in #content-tabs ul.tabs.primary {
}
/* Strasbourg */
#point-nid-888.placement-carte {
- margin-left: 335px;
- margin-top: 331px;
+ margin-left: 291px;
+ margin-top: 351px;
+ .map-title {
+ background-position: top right;
+ padding-bottom: 10px;
+ padding-right: 25px;
+ padding-top: 1px;
+ }
}
/* Stuttgrat */
#point-nid-1031.placement-carte {
@@ -1333,8 +1367,6 @@ body.logged-in #content-tabs ul.tabs.primary {
#point-nid-889.placement-carte {
margin-left: 300px;
margin-top: 620px;
-
-
.map-title {
background-position: top left;
padding-bottom: 10px;
@@ -1357,6 +1389,49 @@ body.logged-in #content-tabs ul.tabs.primary {
margin-left: 607px;
margin-top: 383px;
}
+ /* Clermont-ferrand */
+ #point-nid-1094.placement-carte {
+ margin-left: 160px;
+ margin-top: 430px;
+ }
+ /* Rouen */
+ #point-nid-1099.placement-carte {
+ margin-left: 200px;
+ margin-top: 290px;
+ }
+ /* Nice */
+ #point-nid-1098.placement-carte {
+ margin-left: 368px;
+ margin-top: 575px;
+ }
+ /* Metz */
+ #point-nid-1097.placement-carte {
+ margin-left: 329px;
+ margin-top: 293px;
+ }
+ /* Dijon */
+ #point-nid-1095.placement-carte {
+ margin-left: 280px;
+ margin-top: 397px;
+ }
+ /* Brest */
+ #point-nid-1093.placement-carte {
+ margin-left: 32px;
+ margin-top: 286px;
+ }
+ /* Nancy */
+ #point-nid-1102.placement-carte {
+ margin-left: 296px;
+ margin-top: 331px;
+ .map-title {
+ background-position: top right;
+ padding-bottom: 10px;
+ padding-right: 25px;
+ padding-top: 1px;
+ }
+ }
+
+
diff --git a/sites/default/themes/popsu/less/layout.css.less b/sites/default/themes/popsu/less/layout.css.less
index 78ac9a6..1dc1153 100644
--- a/sites/default/themes/popsu/less/layout.css.less
+++ b/sites/default/themes/popsu/less/layout.css.less
@@ -23,7 +23,7 @@ body.front #global-wrapper {
}
body.front #global-wrapper-secondary {
- background: url(../img/carte/fond_pageaccueil_final.png) no-repeat center -145px;
+ background: url(../img/carte/fond_pageaccueil_final.png) no-repeat center -46px;
}
@@ -76,6 +76,18 @@ body.context-popsu-2 #content-inner h1#page-title {
color: @vert_popsu2;
}
+body.context-popsu-territoires #content-inner h1#page-title {
+ color: @rouge_popsuterritoires;
+}
+
+body.context-popsu-metropoles #content-inner h1#page-title {
+ color: @bleu_popsumetropoles;
+}
+
+body.context-popsu-monde #content-inner h1#page-title {
+ color: @beige_popsumonde;
+}
+
h2 {
line-height: 1.3em;
@@ -192,6 +204,32 @@ body.page-user #page {
float: right;
display: block;
}*/
+
+ a.social{
+ display: inline-block;
+ vertical-align:baseline;
+ width:15px; height:15px;
+ overflow: hidden;
+ text-indent: 40px;
+ // line-height: 1;
+ margin-top:-2px;
+ white-space: nowrap;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: contain;
+ }
+ a.twitter{
+ background-image: url('../img/icons/twitter.png');
+ }
+ a.facebook{
+ background-image: url('../img/icons/facebook.png');
+ }
+ a.social.youtube{
+ background-image: url('../img/icons/youtube-white.png');
+ width:20px;
+ }
+
+
li.last {
float: right;
display: block;
@@ -278,20 +316,20 @@ body.page-user #page {
}
}
-body.context-popsu-europe #sidebar-first .left-nav-level-1 ul.menu {
+.menu-popsu-sidebar(@col){
li {
- color: @gris_popsueurope;
+ color: @col;
a,
.nolink {
- color: @gris_popsueurope;
+ color: @col;
}
ul li a {
color: #fff;
}
ul li a:hover {
- color: @gris_popsueurope;
+ color: @col;
}
ul li.active a {
font-family: OpenSansBold, verdana,arial,helvetica,sans-serif;
@@ -299,10 +337,23 @@ body.context-popsu-europe #sidebar-first .left-nav-level-1 ul.menu {
}
li.active a.active {
- color: @gris_popsueurope;
+ color: @col;
}
}
+body.context-popsu-monde #sidebar-first .left-nav-level-1 ul.menu {
+ .menu-popsu-sidebar(@beige_popsumonde);
+}
+body.context-popsu-territoires #sidebar-first .left-nav-level-1 ul.menu {
+ .menu-popsu-sidebar(@rouge_popsuterritoires);
+}
+body.context-popsu-metropoles #sidebar-first .left-nav-level-1 ul.menu {
+ .menu-popsu-sidebar(@bleu_popsumetropoles);
+}
+body.context-popsu-europe #sidebar-first .left-nav-level-1 ul.menu {
+ .menu-popsu-sidebar(@gris_popsueurope);
+}
+
body.context-popsu-2 #sidebar-first .left-nav-level-1 ul.menu {
li {
@@ -465,8 +516,6 @@ body.context-popsu {
margin: 0px;
padding: 0px;
}
-
-
#block-boxes-popsu_logo_baseline {
float: left;
background: #000 url(../img/logos/baseline.png) no-repeat top left;
@@ -479,17 +528,14 @@ body.context-popsu {
display: none;
}
}
-
.block-wrapper.first {
float: left;
-
.block-boxes {
background: url(../img/pixels/sidebar-default-trans.png);
margin: 0 5px 0 15px;
/* padding-bottom: 27px; */
padding-bottom: 0px;
}
-
}
}
}
@@ -502,74 +548,52 @@ body.sidebar-double.context-popsu-2 #header-wrapper .block-wrapper.first .block-
}
+.logo_box(@bgimg, @w:60px, @h:65px, @mrg:64px, @float:true){
+
+
+ & when (@float = true) {
+ width:auto!important;
+ float:right;
+ margin-right: 25px;
+ }
+ .block-inner {
+ /*padding: 0 1px 0 0;*/
+ a.logo {
+ display: block;
+ float: right;
+ margin: @mrg 0 0 0;
+
+ width: @w;
+ height: @h;
+ background: url(@bgimg) no-repeat;
+ background-size: contain;
+ // background-position: center;
+ background-position: right;
+ text-indent: -999px;
+ overflow: hidden;
+ }
+ }
+}
+
body.context-popsu-1 {
#header-wrapper {
#block-boxes-popsu_logo_popsu1 {
- /* popsu1 */
-
-
- .block-inner {
- /*padding: 0 1px 0 0;*/
-
- a.logo {
- display: block;
- float: right;
- margin: 40px 0 0 0;
-
- width: 193px;
- height: 131px;
- background: url(../img/logos/popsu1/logo-sidebar-trans.png) no-repeat;
- text-indent: -999px;
- overflow: hidden;
- }
-
- }
+ .logo_box('../img/logos/popsu1/logo-sidebar-trans.png', 193px, 131px, 40px, false);
}
#block-boxes-popsu_logo_popsu2 {
- /* popsu2 */
- float: right;
-
- .block-inner {
-
- a.logo {
- display: block;
- margin: 64px 0 0 0;
-
- width: 101px;
- height: 65px;
- background: url(../img/logos/popsu2/logo-small-trans.png) no-repeat;
- text-indent: -999px;
- overflow: hidden;
-
- float: right;
- }
- }
+ .logo_box('../img/logos/popsu2/logo-small-trans.png');
}
#block-boxes-popsu_logo_popsueurope {
- /* popsu Europe */
- float: right;
-
- .block-inner {
- a.logo {
- display: block;
- margin: 64px 0 0 0;
-
- width: 101px;
- height: 65px;
- background: url(../img/logos/popsueurope/logo-small-trans.png) no-repeat;
- text-indent: -999px;
- overflow: hidden;
-
- float: right;
- }
- }
+ .logo_box('../img/logos/popsueurope/logo-small-trans.png');
}
- #block-boxes-popsu_logo_baseline {
- /* baseline */
- .block-inner {
-
-
- }
+ #block-boxes-popsu_logo_popsuterrritoires {
+ .logo_box('../img/logos/popsuterritoires/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsumonde {
+ .logo_box('../img/logos/popsumonde/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsumetropoles{
+ .logo_box('../img/logos/popsumetropoles/logo-small-trans.png');
}
}
}
@@ -577,130 +601,127 @@ body.context-popsu-1 {
body.context-popsu-2 {
#header-wrapper {
#block-boxes-popsu_logo_popsu1 {
- float: right;
-
- .block-inner {
- a.logo {
- display: block;
- margin: 64px 0 0 0;
-
- width: 101px;
- height: 65px;
- background: url(../img/logos/popsu1/logo-small-trans.png) no-repeat;
- text-indent: -999px;
- overflow: hidden;
-
- float: right;
- }
- }
+ .logo_box('../img/logos/popsu1/logo-small-trans.png');
}
#block-boxes-popsu_logo_popsu2 {
-
- .block-inner {
- a.logo {
- display: block;
- float: right;
- margin: 40px 0 0 0;
-
- width: 193px;
- height: 131px;
- background: url(../img/logos/popsu2/logo-sidebar-trans.png) no-repeat;
- text-indent: -999px;
- overflow: hidden;
- }
- }
+ .logo_box('../img/logos/popsu2/logo-sidebar-trans.png', 193px, 131px, 40px, false);
}
#block-boxes-popsu_logo_popsueurope {
- float: right;
-
- .block-inner {
- a.logo {
- display: block;
- margin: 64px 0 0 0;
-
- width: 101px;
- height: 65px;
- background: url(../img/logos/popsueurope/logo-small-trans.png) no-repeat;
- text-indent: -999px;
- overflow: hidden;
-
- float: right;
- }
- }
+ .logo_box('../img/logos/popsueurope/logo-small-trans.png');
}
- #block-boxes-popsu_logo_baseline {
-
- .block-inner {
-
- }
+ #block-boxes-popsu_logo_popsuterrritoires {
+ .logo_box('../img/logos/popsuterritoires/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsumonde {
+ .logo_box('../img/logos/popsumonde/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsumetropoles{
+ .logo_box('../img/logos/popsumetropoles/logo-small-trans.png');
}
}
}
-
body.context-popsu-europe {
#header-wrapper {
#block-boxes-popsu_logo_popsu1 {
- float: right;
-
- .block-inner {
- a.logo {
- display: block;
- margin: 64px 0 0 0;
-
- width: 101px;
- height: 65px;
- background: url(../img/logos/popsu1/logo-small-trans.png) no-repeat;
- text-indent: -999px;
- overflow: hidden;
-
- float: right;
- }
- }
+ .logo_box('../img/logos/popsu1/logo-small-trans.png');
}
#block-boxes-popsu_logo_popsu2 {
- float: right;
-
- .block-inner {
- a.logo {
- display: block;
- margin: 64px 0 0 0;
-
- width: 101px;
- height: 65px;
- background: url(../img/logos/popsu2/logo-small-trans.png) no-repeat;
- text-indent: -999px;
- overflow: hidden;
-
- float: right;
- }
- }
+ .logo_box('../img/logos/popsu2/logo-small-trans.png');
}
#block-boxes-popsu_logo_popsueurope {
-
- .block-inner {
- a.logo {
- display: block;
- float: right;
- margin: 40px 0 0 0;
-
- width: 193px;
- height: 131px;
- background: url(../img/logos/popsueurope/logo-sidebar-trans.png) no-repeat;
- text-indent: -999px;
- overflow: hidden;
- }
- }
+ .logo_box('../img/logos/popsueurope/logo-sidebar-trans.png', 193px, 131px, 40px, false);
}
- #block-boxes-popsu_logo_baseline {
-
- .block-inner {
-
- }
+ #block-boxes-popsu_logo_popsuterrritoires {
+ .logo_box('../img/logos/popsuterritoires/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsumonde {
+ .logo_box('../img/logos/popsumonde/logo-sidebar-trans.png');
+ }
+ #block-boxes-popsu_logo_popsumetropoles{
+ .logo_box('../img/logos/popsumetropoles/logo-small-trans.png');
}
}
}
+body.context-popsu-monde {
+ #header-wrapper {
+ #block-boxes-popsu_logo_popsu1 {
+ .logo_box('../img/logos/popsu1/logo-sidebar-trans.png');
+ }
+ #block-boxes-popsu_logo_popsu2 {
+ .logo_box('../img/logos/popsu2/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsueurope {
+ .logo_box('../img/logos/popsueurope/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsuterrritoires {
+ .logo_box('../img/logos/popsuterritoires/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsumonde {
+ // width:300px;
+ .logo_box('../img/logos/popsumonde/logo-sidebar-trans.png', 193px, 131px, 40px, false);
+ }
+ #block-boxes-popsu_logo_popsumetropoles{
+ .logo_box('../img/logos/popsumetropoles/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_baseline {
+ .block-inner {}
+ }
+ }
+}
+
+body.context-popsu-metropoles {
+ #header-wrapper {
+ #block-boxes-popsu_logo_popsu1 {
+ .logo_box('../img/logos/popsu1/logo-sidebar-trans.png');
+ }
+ #block-boxes-popsu_logo_popsu2 {
+ .logo_box('../img/logos/popsu2/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsueurope {
+ .logo_box('../img/logos/popsueurope/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsuterrritoires {
+ .logo_box('../img/logos/popsuterritoires/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsumonde {
+ .logo_box('../img/logos/popsumonde/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsumetropoles{
+ .logo_box('../img/logos/popsumetropoles/logo-sidebar-trans.png', 193px, 131px, 40px, false);
+ }
+ #block-boxes-popsu_logo_baseline {
+ .block-inner {}
+ }
+ }
+}
+
+body.context-popsu-territoires {
+ #header-wrapper {
+ #block-boxes-popsu_logo_popsu1 {
+ .logo_box('../img/logos/popsu1/logo-sidebar-trans.png');
+ }
+ #block-boxes-popsu_logo_popsu2 {
+ .logo_box('../img/logos/popsu2/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsueurope {
+ .logo_box('../img/logos/popsueurope/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsuterrritoires {
+ .logo_box('../img/logos/popsuterritoires/logo-sidebar-trans.png', 193px, 131px, 40px, false);
+ }
+ #block-boxes-popsu_logo_popsumonde {
+ .logo_box('../img/logos/popsumonde/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsumetropoles{
+ .logo_box('../img/logos/popsumetropoles/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_baseline {
+ .block-inner {}
+ }
+ }
+}
#boxes-box-popsu_menu_trigger {
background: #000000;
@@ -749,14 +770,8 @@ body.context-popsu-europe {
}
}
-
-
-
-
.breadcrumb { display: none; }
-
-
body.context-popsu #header-wrapper .menu-header .block-inner {
padding: 0;
background: none;
@@ -780,7 +795,6 @@ body.context-popsu #header-wrapper .menu-header .block-inner {
}
}
-
.openlayers-container {
border: 1px solid #999;
@@ -852,8 +866,6 @@ body.context-popsu #header-wrapper .menu-header .block-inner {
color: #1A171B;
}
-
-
body.popsu-neutral-section {
#main-wrapper #content-wrapper {
width: 96%;
@@ -902,22 +914,18 @@ body.popsu-neutral-section {
}
}
-
-
body.popsu-neutral-section {
#header-wrapper {
#boxes-box-popsu_logo_popsuneutral {
- /* popsu1 */
+ /* mainlogo */
float: left;
margin-left: 65px;
-
+ // .logo_box('../img/logos/logo-pages-froides-avec-baseline.png', 349px, 150px, 24px);
.boxes-box-content {
margin: 0 5px 0 15px;
- /* padding-bottom: 27px; */
+ // /* padding-bottom: 27px; */
padding-bottom: 0px;
-
-
a.logo {
display: block;
float: right;
@@ -929,7 +937,6 @@ body.popsu-neutral-section {
text-indent: -999px;
overflow: hidden;
}
-
}
}
}
@@ -938,64 +945,22 @@ body.popsu-actu-section,
body.popsu-neutral-section {
#header-wrapper {
#block-boxes-popsu_logo_popsu1 {
- /* popsu1 */
- float: right;
- margin-right: 25px;
-
- .block-inner {
- a.logo {
- display: block;
- margin: 64px 0 0 0;
-
- width: 101px;
- height: 65px;
- background: url(../img/logos/popsu1/logo-small-trans.png) no-repeat;
- text-indent: -999px;
- overflow: hidden;
-
- float: right;
- }
- }
+ .logo_box('../img/logos/popsu1/logo-small-trans.png');
}
#block-boxes-popsu_logo_popsu2 {
- /* popsu2 */
- float: right;
- margin-right: 25px;
-
- .block-inner {
-
- a.logo {
- display: block;
- margin: 64px 0 0 0;
-
- width: 101px;
- height: 65px;
- background: url(../img/logos/popsu2/logo-small-trans.png) no-repeat;
- text-indent: -999px;
- overflow: hidden;
-
- float: right;
- }
- }
+ .logo_box('../img/logos/popsu2/logo-small-trans.png');
}
#block-boxes-popsu_logo_popsueurope {
- /* popsu Europe */
- float: right;
-
- .block-inner {
- a.logo {
- display: block;
- margin: 64px 0 0 0;
-
- width: 101px;
- height: 65px;
- background: url(../img/logos/popsueurope/logo-small-trans.png) no-repeat;
- text-indent: -999px;
- overflow: hidden;
-
- float: right;
- }
- }
+ .logo_box('../img/logos/popsueurope/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsuterrritoires{
+ .logo_box('../img/logos/popsuterritoires/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsumonde{
+ .logo_box('../img/logos/popsumonde/logo-small-trans.png');
+ }
+ #block-boxes-popsu_logo_popsumetropoles{
+ .logo_box('../img/logos/popsumetropoles/logo-small-trans.png');
}
}
}
@@ -1339,5 +1304,3 @@ body.page-recherche.popsu-neutral-section #main-wrapper #content-wrapper #conten
body.node-type-popsu-ville .captioned .flex-caption {
margin-top: -20px;
}
-
-
diff --git a/sites/default/themes/popsu/less/lib.less b/sites/default/themes/popsu/less/lib.less
index f1927be..a8194f5 100644
--- a/sites/default/themes/popsu/less/lib.less
+++ b/sites/default/themes/popsu/less/lib.less
@@ -3,3 +3,6 @@
@vert_popsu2: #71a024;
@gris_popsueurope: #6e6c78;
@gris_neutral: #999999;
+@beige_popsumonde:#baa580;
+@rouge_popsuterritoires:#d90e29;
+@bleu_popsumetropoles:#23398d;
diff --git a/sites/default/themes/popsu/less/wide.less b/sites/default/themes/popsu/less/wide.less
index 0de611a..c46fc70 100644
--- a/sites/default/themes/popsu/less/wide.less
+++ b/sites/default/themes/popsu/less/wide.less
@@ -2,14 +2,14 @@
@media only screen and (min-width: 1200px) {
/* ---------------------------------------------------------------------------*/
-
-
+
+
#page {
-
-
+
+
width: 1090px;
-
+
#main-wrapper {
#sidebar-first {
margin-left: 75px;
@@ -24,7 +24,7 @@
}
#block-boxes-popsu_logo_popsueurope {
/* attention au contexte POPSU ! */
- margin-right: 75px;
+ // margin-right: 75px;
}
}
#main-wrapper {
@@ -36,7 +36,7 @@
body.front #page {
- #main-wrapper {
+ #main-wrapper {
#content-wrapper {
margin-left: 90px;
width: 86%;
@@ -45,7 +45,7 @@ body.front #page {
}
body.popsu-neutral-section {
- #main-wrapper {
+ #main-wrapper {
#content-wrapper {
margin-left: 90px;
width: 83%;
@@ -57,18 +57,18 @@ body.popsu-actu-section {
#header-wrapper {
#boxes-box-popsu_logo_popsuneutral .boxes-box-content {
width: 280px;
-
+
a.logo {
margin-left: 74px;
}
}
-
+
#block-boxes-popsu_logo_baseline {
margin-left: 16px;
}
-
+
}
-
+
}
@@ -76,10 +76,17 @@ body.popsu-actu-section {
body.context-popsu-europe #page #header-wrapper {
#block-boxes-popsu_logo_popsueurope {
- margin-right: 0;
+ margin-right: 0;
}
#block-boxes-popsu_logo_popsu2 {
- margin-right: 75px;
+ // margin-right: 75px;
+ }
+}
+
+
+body.context-popsu-monde #page #header-wrapper {
+ #block-boxes-popsu_logo_popsumonde {
+ margin-right: 0;
}
}
@@ -93,7 +100,7 @@ body.sidebar-double {
#footer-wrapper #footer .region-footer {
width: 1090px;
}
-
+
#page {
width: 1090px;
@@ -104,12 +111,12 @@ body.sidebar-double {
}
/*#content-wrapper {
width: 620px;
- }*/
+ }*/
}
#header-wrapper {
.block-wrapper.first {
margin-left: 0px;
-
+
.block-boxes {
background: url(../img/pixels/sidebar-default-trans.png);
}
@@ -122,7 +129,7 @@ body.sidebar-double {
#sidebar-first {
#block-menu_block-3 {
display: block;
-
+
width: 55%;
float: left;
background: url(../img/pixels/sidebar-default-trans.png);
@@ -133,15 +140,15 @@ body.sidebar-double {
min-height: 600px;
background: url(../img/pixels/sidebar-popsu1-bis-trans.png);
}
-
-
-
-
-
+
+
+
+
+
}
-
+
}
-
+
}
body.sidebar-double.context-popsu-2 #sidebar-first {
@@ -166,35 +173,35 @@ body.sidebar-double.context-popsu-1 #sidebar-first .left-nav-level-1 ul.menu {
li .nolink,
li a {
color: @bleu_popsu1;
-
+
}
li ul li a:hover {
color: @bleu_popsu1;
}
-
+
li.active-trail {
-
-
+
+
a.active-trail {
color: @bleu_popsu1;
background: url(../img/nav-active-trans.png) no-repeat center right;
- margin-right: -15px;
+ margin-right: -15px;
display: block;
}
}
-}
+}
+
-
body #block-boxes-popsu_menu_trigger {
- display: none;
-}
+ display: none;
+}
#content-inner .popsu-74-26-stacked .panels-flexible-column-first .field-type-image {
margin-left: -23px;
@@ -206,4 +213,4 @@ body #block-boxes-popsu_menu_trigger {
/* ---------------------------------------------------------------------------*/
}
-/* 1200 styles ---------------------------------------------------------------*/
\ No newline at end of file
+/* 1200 styles ---------------------------------------------------------------*/
diff --git a/themes/bartik/bartik.info b/themes/bartik/bartik.info
index 7633680..a49c03e 100644
--- a/themes/bartik/bartik.info
+++ b/themes/bartik/bartik.info
@@ -34,8 +34,7 @@ regions[footer] = Footer
settings[shortcut_module_link] = 0
-; Information added by Drupal.org packaging script on 2018-03-28
-version = "7.58"
+; Information added by Drupal.org packaging script on 2018-04-25
+version = "7.59"
project = "drupal"
-datestamp = "1522264019"
-
+datestamp = "1524673284"
diff --git a/themes/garland/garland.info b/themes/garland/garland.info
index 3a81d19..b211949 100644
--- a/themes/garland/garland.info
+++ b/themes/garland/garland.info
@@ -7,8 +7,7 @@ stylesheets[all][] = style.css
stylesheets[print][] = print.css
settings[garland_width] = fluid
-; Information added by Drupal.org packaging script on 2018-03-28
-version = "7.58"
+; Information added by Drupal.org packaging script on 2018-04-25
+version = "7.59"
project = "drupal"
-datestamp = "1522264019"
-
+datestamp = "1524673284"
diff --git a/themes/seven/seven.info b/themes/seven/seven.info
index ce455f5..8b1eb06 100644
--- a/themes/seven/seven.info
+++ b/themes/seven/seven.info
@@ -13,8 +13,7 @@ regions[page_bottom] = Page bottom
regions[sidebar_first] = First sidebar
regions_hidden[] = sidebar_first
-; Information added by Drupal.org packaging script on 2018-03-28
-version = "7.58"
+; Information added by Drupal.org packaging script on 2018-04-25
+version = "7.59"
project = "drupal"
-datestamp = "1522264019"
-
+datestamp = "1524673284"
diff --git a/themes/stark/stark.info b/themes/stark/stark.info
index 6c1bc20..e5c5bea 100644
--- a/themes/stark/stark.info
+++ b/themes/stark/stark.info
@@ -5,8 +5,7 @@ version = VERSION
core = 7.x
stylesheets[all][] = layout.css
-; Information added by Drupal.org packaging script on 2018-03-28
-version = "7.58"
+; Information added by Drupal.org packaging script on 2018-04-25
+version = "7.59"
project = "drupal"
-datestamp = "1522264019"
-
+datestamp = "1524673284"