forum.coppermine-gallery.net
Support => cpg1.5.x Support => cpg1.5 themes (visuals) => Topic started by: allvip on November 26, 2013, 01:41:20 pm
-
I need to have <script src="themes/curve/js/jquery.min.js" type="text/javascript"></script> in my template.html
but
create new album is not working because of it.
what should I do?
-
ok.found it.
I added this code at the end of function theme_display_thumbnails because I need it for the thumbnails but it works even at the end of function pageheader:
// This line of code will include js file
js_include('themes/curve/js/jquery.min.js');
However there is a catch in using this function. This function should be called before the pageheader() function is called. The actual inclusion of javascript files is done in pageheader() function and that is the reason all js inclusion should be done before that.
read all abot it in coppermine docs:
http://documentation.coppermine-gallery.net/en/dev_javascript.htm (http://documentation.coppermine-gallery.net/en/dev_javascript.htm)
-
I already noticed that a newer jQuery version breaks some parts of Coppermine. I hadn't time yet for a closer look why this happens and what else don't work anymore.
-
newer jQuery version breaks some parts of Coppermine if is in theme.php.
with js_include('themes/your_theme_name/js/jquery.min.js'); in theme.php albmgr.php is working but admin tools is not working.it needs a older version like jquery-1.3.2.js (copy jquery-1.3.2.js from the js folder of your coppermine gallery)
-
all my solutions goes to same result:
a new version of jquery breaks some parts of Coppermine even if it is in theme.php or template.html
-
sort my pictures- picmgr.php,new album - albmgr.php, admin tools - util.php,rating stars and fimstrip arrows on displayimage.php
It's impossible to use jquery plugins with copermine if they need jquery-1.11.0.min.js not jquery-1.3.2.js
-
Can I make coppermine use the curve theme for all the admin pages?
-
Can coppermine be changed to use the new jquery version for admin pages and displayimage.php?
Why it works only with old versions of jqeury anyway?
-
Can coppermine be changed to use the new jquery version for admin pages and displayimage.php?
Why it works only with old versions of jqeury anyway?
When the code was written jQ3.2 was the current version. As time has gone on jQuery has been updated but we have not changed the code to be compatible with newer versions yet. The changes are quite substantial as a lot has changed with jQuery. Hopefully we can find someone with the time and talent to begin the updates.
-
I added jquery-1.11.0.min.js in the gallery js folder
replaced js_include('js/jquery-1.3.2.js'); with js_include('js/jquery-1.11.0.min.js'); in include/init.inc.php
everyting is working but not admin tools.Admin tools is the only thing that needs someone with the time and talent to begin the updates.
-
Anyway the biggest problem I think is that coppermine won't allow jquery in template.html.
I added in the curve theme under {JAVASCRIPT} <script type="text/javascript" src="themes/curve/js/jquery-1.11.0.min.js"></script>
and again nothing is working.
with <script type="text/javascript" src="themes/curve/js/jquery-1.3.2.js"></script> in template.html only albmgr.php is working (with jquery-1.11.0.min.js or with jquery-1.3.2.js in init.inc.php.)
I think it does not matter what version of jquery is using coppermine.
The problem is a jquery conflict or something if jquery is used in template.html
-
YES YOU CAN LOAD SCRIPTS IN TEMPLATE.HTML
Sorry, but there is not need for the bold text, I can read without it....
Without seeing your full code it is impossible to say exactly what is going wrong. Loading multiple versions of a library is always going to cause problems if you do not do it properly. Having said that please try the following plugin as it might help you.
http://forum.coppermine-gallery.net/index.php/topic,74696.0.html
-
Thanks for the plugin.Is proabibly what I need.
Is no code to see.
I just added the <script type="text/javascript" src="js/jquery-1.3.2.js"></script> in template.html under {JAVASCRIPT} to the original curve theme.I did no other edits to the theme.
it looks like is not possible to load jquery-1.3.2.js from init.inc.php and from template.html.it creats a conflict.
really hope that plugin does what I want.
-
The plugin should help. Here is some information on loading multiple versions of a library - https://forum.jquery.com/topic/multiple-versions-of-jquery-on-the-same-page
-
Can I make coppermine use the curve theme for all the admin pages?
You can always override your theme by adding ?theme=curve to the page being displayed... (or &theme=curve if a parm is already specified...)
Any navigation will use the specified theme (don't need to respecify on each page) until you say ?theme=xxxxxx (whatever your theme name is...) Only affects your session - other gallery users will remain on the normal theme.
I've used this method when I've run into issues where a theme isn't displaying something properly - or a quick way to see if an issue is in the theme (change to curve to see if it fixes it...)
My current theme of fiblack3dblue does a poor job displaying albmgr - it works - just not readable... so I switch myself to curve to make my changes, then switch back... until I have time to go look at it... or pick another theme....
-
I know about ?theme=curve and {THEME_SELECT_LIST} but my users need to use albmgr.php
To dispaly a message:please switch theme and then switch back when your finished is ugly.
-
Why will your own custom JS not work with the already loaded library?
-
I used js_include('js/jquery-1.11.0.min.js'); under require('include/init.inc.php'); on index.php,thumbnails.php and displayimage.php because I have a jquery plugin on all those pages that needs jquery-1.11.0.min.js
the script for the jquery plugin is in template.html
I see no conflict this way.
Is a good solution because the theme is for my gallery,but if I want to make a theme for others I will have to say:please add this to...for the theme to work.
-
jquery no conflict is not ease to use.
I used this:
http://jquerynoconflict.discoverproductivity.co.uk/noconflict.html (http://jquerynoconflict.discoverproductivity.co.uk/noconflict.html)
http://api.jquery.com/jquery.noconflict/ (http://api.jquery.com/jquery.noconflict/)
and your link but nothing.
maybe because I need to change even the $ from the js file of my plugin not just on the small code from template.html or because the jquery files are one in init.inc.php and one in template.html
I want to finish my theme fast so I do not have time to understand jquery.noconflict
-
Why will your own custom JS not work with the already loaded library?
Is working now.I had an error in theme.php
the jquery plugin from displayimage.js is working with jquery 1.3.2 from init.inc.php (no need to include it in template.html or theme.php)
on thumbnails.php I use another jquery plugin that works with the jquery from init.inc.php (no nedd to include the jquery in template.html or thumbnails.php) but only if it is 1.10 not 1.3.2.
but 1.10 can not replace 1.3.2 in init.inc.php.breaks the admin tools.
I have to include it on thumbnails.php
CONCLUSION:
Admin tools is the only thing that needs someone with the time and talent to begin the updates so will use 1.10
-
I removed the posts about picture navigation plugin.it was an error in theme.php
When I posted about jquery can not be included in template.html I was testing on the curve theme.
after that I used my new theme that had an error in theme.php
-
js/util.js for admin tools
replace attr (is found twice in util.js) with prop
http://api.jquery.com/prop/ (http://api.jquery.com/prop/)
now admin tools (util.php) works with jquery-1.11.0.min.js
I uploaded jquery-1.11.0.min.js in the js folder of coppermine.
I replaced js_include('js/jquery-1.3.2.js'); with js_include('js/jquery-1.11.0.min.js'); in include/init.inc.php
Now coppermine is using version 1.11.0
I do not know all the coppermine files that uses jquery-1.3.2.js from include/init.inc.php but it looks like everyting is working fine.
Now I do not have to include jquery in template.html or any other page for a jquery plugin to work unless the plugin is not working with 1.11.0.
-
If a jquery plguin is not working with the latest jquery version 1.11.0,I will have to use the solution from Reply #17 or find out how to use jquery no conflict or use Load Scripts Plugin http://forum.coppermine-gallery.net/index.php/topic,74696.0.html
-
IMHO it would be way easier and straightforward to replace the embedded jQuery version via a plugin, which contains a list of compatible/incompatible pages and then uses the corresponding jQuery file.
For a start we need a reliable list what exactly doesn't work with later jQuery versions.
-
For a start we need a reliable list what exactly doesn't work with later jQuery versions.
Your asking about coppermine pages or about the jquery plugins I use in the theme?
Anyway all the jquery plugins from my theme work with 1.11.0 (In my last reply I just said IF I will need a older version...)
-
As we (the Coppermine development team) don't care about jQuery plugins, we need a list of Coppermine pages/features/functions which don't work with more recent jQuery version. I already noticed some time ago, that the album manager doesn't work with later jQuery versions (if I remember correctly I tested jQuery 1.4 back then).
-
I will post a list after half an hour.
-
Take your time, this is no urgent issue (at least it isn't for me).
-
So far I have upgraded to jQuery 1.11.0.min.js and all appears to be working well with just the edits to util.php in place (along with all the calls to 1.3.2) but we need to test with as many themes and plugins as possible.
-
tested on coppermine 1.5.24 with jquery-1.11.0.js
everything is working but Admin tools (util.php) and the Date Picker from Ban Users (banning.php) is not working.
util.js updated like I posted in reply 21 and now Admin tool is working.
Date Picker - js/jquery.datePicker.js is using jquery 1.3.2 like it says on the plugin page:
http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/ (http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/)
If I add js_include('js/jquery-1.3.2.js'); to banning.php is not working- jquery conflict
I tested all the links from the menu and on every page I made all the possible actions browse by date,edit,delete,ban,slideshow,image watermarking etc (in config I did not test all the irelevant settings)
Can not test bridgemgr.php - I do not have a forum.
-
We need to update the bundled jquery to the latest stable version and update any core coppermine code to work with latest stable version of jquery.
@allvip: If I understand you correctly, only two things are not working with latest jquery.
Correct me if I am wrong.
-
And yes, there might be many third party plugins and themes using jquery (older version). We can't really help that and the respective authors will have to update their themes/plugins as well. We can only support and update the themes/plugins which the core dev team has developed.
-
We need to update the bundled jquery to the latest stable version and update any core coppermine code to work with latest stable version of jquery.
@allvip: If I understand you correctly, only two things are not working with latest jquery.
Correct me if I am wrong.
Thanks for your input Abbas.
As far as I can see those are the only 2 problems other than the 2 changes mentioned above in util.js
-
I'd like to schedule this for cpg1.6.x, or do you see a reason why we need to update it in cpg1.5.x, which will probably cause issues for some users.
-
I second the idea of doing it in cpg1.6.x. Its always good to update third party libs in a major release and minor release should be just for bug fixes.
-
We need to update the bundled jquery to the latest stable version and update any core coppermine code to work with latest stable version of jquery.
@allvip: If I understand you correctly, only two things are not working with latest jquery.
Correct me if I am wrong.
banning.php works fine.I can add a user to ban,delete a user etc.Only the date picker from the page is not working.
I added js_include('js/jquery-1.3.2.js'); to banning.php to make the date picker to work,but the date picker is still not working.Jquery coonflict-banning.php uses 1.11.0 from include/init.inc.php and 1.3.2
-
I second the idea of doing it in cpg1.6.x. Its always good to update third party libs in a major release and minor release should be just for bug fixes.
I totally agree, it is something we should keep on top of so when we do release 1.6.x the latest version is packaged. Currently as far as I can see there are no security implications of remaining with Jquery 3.2.2 and there are few users who do experience problems using that version. jQuery 2.x is also release but that does not work with IE6,7 or 8 so not really something we should consider at this time but maybe by the time CPG1.6 is released we should it could be.
If we can document what changes are required in this thread for those users that would like to update at their own risk then that may be helpful.
-
If we can document what changes are required in this thread for those users that would like to update at their own risk then that may be helpful.
1.Upload jquery-1.11.0.min.js in the js folder (js folder is in the coppermine root)
2.replaced js_include('js/jquery-1.3.2.js'); with js_include('js/jquery-1.11.0.min.js'); in include/init.inc.php
3.js/util.js for admin tools
replace attr (is found twice in util.js) with prop
4.I don't know about security but I don't see how the latest version of jquery can afect that.
5.If someone uses some jquery plugin on their personal theme it proabibly works with 1.11.0.Most jquery plugins from google are updated by the developer.Is rare to find a plugin that is not updated like datepicker.
My coppermine works perfect.
If there is some plugin or theme they use and does not work they can post it here so everybody will know is not working with 1.11.0 and on the theme or plugin topic so contributors can update.
Something tell me but they do work.I will test them all.
-
I'd like to schedule this for cpg1.6.x, or do you see a reason why we need to update it in cpg1.5.x, which will probably cause issues for some users.
Can I please know wath issues can cause?If is not to much to ask.
-
We really don't know what issues it may cause as that depends on the third party themes and plugins users are using. For example: if a certain user is using a certain third party theme or plugin which is dependent on the bundled jquery 1.3.x version than that theme or plugin will break.
-
Can I please know wath issues can cause?
We currently have a working gallery software. As Abbas said, if we update a third party library, we don't know what exactly may break, even if we test as thorough as possible.
Regarding the change to js/utils.php, this is my proposal. Find
$('#' + $(this).attr('id') + '_wrapper').css('display', ($(this).attr('checked')) ? 'block' : 'none');
and replace with
$('#' + this.getAttribute('id') + '_wrapper').css('display', (this.checked) ? 'block' : 'none');
As we use plain JavaScript, this change works regardless of the jQuery version. Or does somebody see a disadvantage (browser compatibility, etc.)? If not, I'd like to add that change even to cpg1.5.x, so users don't need to modify that file.
-
2.replaced js_include('js/jquery-1.3.2.js'); with js_include('js/jquery-1.11.0.min.js'); in include/init.inc.php
There are a number of other files that hard code the jquery version such as pic_editor.php at line 257 , themes.inc.php at line 400 as well as in some theme.php files such as in eyeball a few times and obviously the sample theme.
-
ok.thanks Abbas Ali and Andre.
-
There are a number of other files that hard code the jquery version such as pic_editor.php at line 257 , themes.inc.php at line 400 as well as in some theme.php files such as in eyeball a few times and obviously the sample theme.
A simple plugin using the page_html hook could easily replace the jQuery version everywhere without fail, as it modifies the HTML output directly before it's submitted to the browser.
-
Sounds like a very good ideas coupled with your utils.php modification above. It could even be extended to get the latest jquery version from the cdn if needed. Users would then have less cause to complain about the bundled version.
-
There are a number of other files that hard code the jquery version such as pic_editor.php at line 257 , themes.inc.php at line 400 as well as in some theme.php files such as in eyeball a few times and obviously the sample theme.
Thanks.I did not though about it.Is there something else in coppermine files that has to do with jquery 1.3.2?
checked all the files including themes/curve (but not the js and bridge folder) and even include/cpg15x.files.xml has 1.3.2 hardcoded once.
include/themes.inc.php can be found 5 times: in function <<<theme_javascript_head>>>,<<<theme_display_fullsize_pic>>> 2 times,<<<$template_sidebar>>> 1 time.
replaced with 1.11.0 in pic_editor.php,include/cpg15x.files.xml,include/themes.inc.php .after a short test everyting looks fine but can not test sidebar.I don't have a sidebar.
-
I think Αndré's proposed change for utils.php would be fine in 1.5.x (at least I don't see a disadvantage to that method)... but I would agree with those saying the change to include the new jquery should wait until 1.6.
While there may be no security related issues with jquery - if we were to break a theme or plugin a user relied on by including new jquery in 1.5.28, the user would be unable to apply any future security fixes (1.5.30, etc) until the jquery issue were addressed...
With 1.6, they will have the option to stay on a still supported (for a while) 1.5 version - with any new security fixes - until they can address the compatibility issues and are ready to upgrade..
I was going to suggest possibly a 'hidden' config option in 1.5.x to specify the level of jquery to include - thinking it was only used in one place (init.inc.php) - but as it is hardcoded elsewhere - may not be best choice...
The plugin using page_html hook would certainly find them all.
As a 'strategic' direction - I would think a config option in 1.6 for the jquery versions to use with all hardcoded references changed to look there might be best choice (and maybe an option to indicate include from cpg distribution or load from cdn as Phill suggested?)
Would position for users to adopt jquery 2.x before CPG 1.7... :)
-
As a 'strategic' direction - I would think a config option in 1.6 for the jquery versions to use with all hardcoded references changed to look there might be best choice (and maybe an option to indicate include from cpg distribution or load from cdn as Phill suggested?)
Would position for users to adopt jquery 2.x before CPG 1.7... :)
IMHO such an option will lull users into a false sense of security, as they will think "Hey, it's a official config option, so it will work with all versions of jQuery (or whatever library)". In cpg1.6.x, like in cpg1.5.x, we should stick with the jQuery version we bundle in the first release, so we can be sure that everything works as expected. Of course we still can provide an (unofficial) plugin to use a later jQuery version if users need it for a particular reason.
I'll create the plugin now. I assume the hardest task is to find a meaningful name, as the rest is just a simple str_replace line ;)
-
I'll create the plugin now.
Here we go: http://sourceforge.net/p/coppermine/code/HEAD/tree/branches/cpg1.5.x/plugins/jquery_update/
-
Well done Andre. That has to be the smallest plugin yet lol.
-
great ideea.
thanks.
-
Find
$('#' + $(this).attr('id') + '_wrapper').css('display', ($(this).attr('checked')) ? 'block' : 'none');
and replace with
$('#' + this.getAttribute('id') + '_wrapper').css('display', (this.checked) ? 'block' : 'none');
Committed in SVN revision 8668. Please report any unexpected behavior.
-
I still need to find out how to use jquery no conflict if I need to use 2 jquery version on the same page even if on the jquery website they don't recommend 2 version of jquery on the same page.
-
I know is off topic.
-
Why do you want to use 2 versions simultaneously? As I said earlier, it's easy to use different jQuery versions on different Coppermine sections. Just wrap something like
global $CPG_PHP_SELF;
if ($CPG_PHP_SELF != 'whatever.php') {
}
around the plugin code that replaces the used jQuery version.
-
I still need to find out how to use jquery no conflict if I need to use 2 jquery version on the same page even if on the jquery website they don't recommend 2 version of jquery on the same page.
I too have no idea why you want to do that. Just load the one version and be done with it. I can only assume you are trying to use a different package alongside coppermine and that is also loading jQuery. Simply remove the load from one of the packages.
-
If I use 2 jquery plugins:one that does not work with the latest jquery one that works with the latest jquery.
with this code I can use 1.11.0 for the filmstrip if I ad it to film function,1.6 for stars if I ad it to stars function and rest of the displayimage.php to use default coppermine 1.3.2? (is just an example) ?
-
That's probably something you should ask in the jQuery boards. At least I have no clue if this will ever work, as I don't know how the plugins should "find" the correct jQuery version.
-
Loading multiple jquery version on the same page is bad ideea and not recommended by jquery website.
I will not use jquery plugins with old jquery versions.
Thanks for all the answers.
For me the topic is solved.
-
Here we go: http://sourceforge.net/p/coppermine/code/HEAD/tree/branches/cpg1.5.x/plugins/jquery_update/
I created jquery_update folder on my desktop.I downloded codebase.php and configuration.php and put them in the folder.I uploaded the folder to coppermine plugins folder on the server.Installed the plugin with coppermine plugin manager.
Reason for editing: made a mistake when I test it.That's why was not working.
The plugin works VERY WELL.
-
Can someone post the plugin (Reply #48) in cpg1.5 plugin contributions?
Is so useful and I think is a light plugin.
-
Plugin announcement thread: http://forum.coppermine-gallery.net/index.php/topic,77595.0.html