The community plugin (2.6) has a new setting to know whether its function is enabled (for a user?). This setting seems to be turnt off by default (FIXME: how to turn it on?), and that will hide the "Upload link". Because IPM has its link displayed by Community plugin, the upload func. seems not to work
Piwigo < 2.5 does not have this problem: When an image is editable, two Edit buttons will be displayed: One of IPM, the other is of native Piwigo. To fix this issue (remove our button), we will check if the current user is *admin. If *yes, just exit. Because we can not detect user information at the time the hooks are loaded, we need to detect user *inside* the hook contents. This will have a lot code, but it works. Please note that by removing IPM support from :admin, we will make thing clear, not messy anymore. When being enabled, IPM can prevent *admin* user from editting any image, but the native code allows them to edit images (confused!). I am not very sure why the previous Piwigo verions do not have this problem. Maybe the template system has changed. Better means buggy
Due to strict regular expression the ZAML parser, and the $ does not match any linefeed, the author name is ignored, and that is why any new setting will go to :default section. We can fix this by change the regexp, or simplify :rtrim the input $line. The 2nd way is much simpler, right?
If there is an invalid reference in ZAML file, like some_user: foo: bar new_user: @invalid_user foo: not_bar then any setting for "new_user" will be ignored. Actually, the reference line is skipped, so "new_user" will have not any setting, while "some_user" (whose settings are above the reference line) will accept non-wanted settings, so some_user: foo: bar foo: not_bar and finally, the "some_user" will use "not_bar" for "foo". In pratice, this may be considered as a "feature", because in ZAML any invalid line is meanless and used by the last user. However, that is very confused thing. Let see this example: The "some_user" belongs to the group "~moderator", and we have in ZAML ~moderator: edit_image_of: any new_user: @some_user People may think this works. But it is not. This is because the referene "@some_user" doesn't expand at the time ZAML file is parsed (this is natural; the parser shouldn't depend on any back-end stuff). In this fix, we make sure that an invalid referene lince will not skip author setting. We do not fix expansion issue.
that should be upgraded or patched to resolve IPM-SA-2013-08-14
We use a wrong JOIN command (left join instead of a inner join), that brings the highest permissions to a users. If there are some groups, the user can always get the permissions from the highest group. This is an effect of the use of LEFT-JOIN query. If you are using version >= 2.1.0 of this plugin, it is highly that you upgrade to the latest version. If you don"t want to upgrade, you can * Edit the file manually, by replacing the LEFT JOIN by JOIN. Please search and edit in the file plugins/icy_picture_modify/include/*.php * Apply a patch found from the source tree https://github.com/icy/icy_picture_modify/tree/master/patches/ (Find your version and patch file "IPM-SA-2013-08-14.patch" I hate PHP :)