This modules provides the ability to rotate images in IMCE. If assigned the rotate permission in their IMCE profiles, users can choose 90 deg clockwise, 90 counterclockwise or 180 degrees. Users can choose to make a copy of the rotated image, in which case the image will be assigned to that user through the file management system. Otherwise, images will maintain their relationship to the original contributor.

There are numerous IMCE plugin modules - crop, brightness and contrast - to name a few, but quite surprisingly none of these existing modules seem to rotate images. Yet image rotation is an extremely important feature. Even with the appropriate Drupal modules enabled, for instance, https://drupal.org/project/imagecache_actions, EXIF data often gets confused, Plus, users might want images rotated differently from orientation that EXIF data dictates. Image rotation is provided as a feature within core image styles, but this does not allow users to easily and individually rotate images within IMCE or outside of image styles for that matter. This project allows users to rotate images easily (as single images or in multiples) through IMCE.

Just like IMCE's native resize or the IMCE Crop module, IMCE Rotate's functionality is derived from Drupal's image_rotate() function as part of the core image_toolkit. This means that in the future it will be possible to expand the functionality of this module to include arbitrary rotation with different background colors and transparencies. For now though, the basic purpose is served.

Requirements
------------
IMCE
Needless to say, you need to have the IMCE module installed.
https://drupal.org/project/imce

Installation
------------
Follow the normal procedure to place the
module folder and files in sites/all/modules
and then enable through drush or the User Interface.

Configuration
------------
You can set permissions through IMCE profiles.

git clone --branch 7.x-1.0 http://git.drupal.org/sandbox/j.branson/2224091.git

Sandbox: https://drupal.org/sandbox/jbranson/2224091

PAReview: http://pareview.sh/pareview/httpgitdrupalorgsandboxjbranson2224091git
The issue related to function imce_js_rotate(&$imce) { needs to be ignored because that is the way to hook imce_js: http://api.drupalize.me/api/drupal/function/imce_js/7

IMCE Rotate was adapted by J. Branson Skinner for http://theor.org based on IMCE Crop and an unpublished D6 version of this module (https://drupal.org/node/538038) contributed by NaX (https://drupal.org/user/25511).

This is my second full project application. My first project (https://drupal.org/project/target_filter_url) was approved, but as it borrowed most of its code from core's url filter, I was not approved for full git access. The application page for Target Filter URL is https://drupal.org/node/2196285. For that application I reviewed an additional five project applications. This current module, IMCE Rotate, also draws much of its code from previous modules, mainly IMCE Crop and the unpublished D6 version by NaX mentioned above. That said, it features substantially more code than Target Filter URL. I will certainly understand if again I am not approved for full github access. But regardless of my approval, I hope that this project will be elevated to serve the needs of the community. ...or perhaps in the application process someone will direct me to an IMCE Rotate module that already exists. If nothing else, we can document that a little better because the need for it is pretty obvious, so either way, hopefully now this functionality it will be easier to find!

Reviews of other PA's:
https://drupal.org/comment/8604461#comment-8604461
https://drupal.org/comment/8607063#comment-8607063
https://drupal.org/comment/8602939#comment-8602939
+ five additional reviews for my first project application https://drupal.org/node/2196285

CommentFileSizeAuthor
#10 coder-results.txt1.57 KBklausi

Comments

j.branson’s picture

The issue in PAreview about:

The following git branches do not match the release branch pattern, you should remove/rename them. See http://drupal.org/node/1015226

* 7.x-1.0
remotes/origin/7.x-1.0
remotes/origin/HEAD -> origin/7.x-1.0

was also an issue in my first project application. On the sandbox page you will see that 7.x-1.0 is the only branch. I really am not sure how to fix this issue, but am open to suggestions.

As noted in the application this is not a duplicate application. My first project was promoted individually, but I still have to submit another (this) project to be promoted to full git access.

Thanks!

PA robot’s picture

Multiple Applications
It appears that there have been multiple project applications opened under your username:

Project 1: https://drupal.org/node/2224147

Project 2: https://drupal.org/node/2196285

As successful completion of the project application process results in the applicant being granted the 'Create Full Projects' permission, there is no need to take multiple applications through the process. Once the first application has been successfully approved, then the applicant can promote other projects without review. Because of this, posting multiple applications is not necessary, and results in additional workload for reviewers ... which in turn results in longer wait times for everyone in the queue. With this in mind, your secondary applications have been marked as 'closed(duplicate)', with only one application left open (chosen at random).

If you prefer that we proceed through this review process with a different application than the one which was left open, then feel free to close the 'open' application as a duplicate, and re-open one of the project applications which had been closed.

I'm a robot and this is an automated message from Project Applications Scraper.

PA robot’s picture

We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)

Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).

I'm a robot and this is an automated message from Project Applications Scraper.

j.branson’s picture

Issue summary: View changes
Issue tags: +PAreview: review bonus

Addressing PARobot Comment #2...I know you are a robot and merely doing your job. Yes, this is my second application. As I note in the issue summary, my first project application was promoted, but I was not granted full project/full git access. Hopefully considering that one project I've submitted has already been approved will factor into the approval for this project and my git access.

Also, I've added a review bonus tag after doing some reviews of other projects. Those reviews are noted in the issue summary.

Thanks!

dahousecat’s picture

Missing t from line 28 of imce_rotate.inc:

'clockwise' => ('90deg Clockwise'),

Other than that I could not find any other problems. Module works perfectly for me and is a useful additional to the IMCE toolkit.

dahousecat’s picture

Status: Needs review » Needs work
j.branson’s picture

Status: Needs work » Needs review

Whoops, totally missed that. All fixed now. Thanks

dahousecat’s picture

Status: Needs review » Reviewed & tested by the community
ce.bichot’s picture

Very helpfull work! Thanks

klausi’s picture

Status: Reviewed & tested by the community » Fixed
StatusFileSize
new1.57 KB

It appears you are working in the "7.x-1.0" branch in git. You should really be working in a version specific branch. The most direct documentation on this is Moving from a master branch to a version branch. For additional resources please see the documentation about release naming conventions and creating a branch in git.
The following git branches do not match the release branch pattern, you should remove/rename them. See http://drupal.org/node/1015226

* 7.x-1.0
  remotes/origin/7.x-1.0
  remotes/origin/HEAD -> origin/7.x-1.0

Review of the 7.x-1.0 branch:

This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. You have to get a review bonus to get a review from me.

manual review:

  1. _imce_rotate_form_imce_fileop_form_alter(): doc block is wrong, this is not a hook.
  2. imce_rotate_file(): you are changing image_jpeg_quality, but you don't always change it back?
  3. "utf8_encode($file->filename)": why do you need to encode the filename? Please add a comment.

But that are not critical application blockers, so ...

Thanks for your contribution, j.branson!

I updated your account so you can promote this to a full project and also create new projects as either a sandbox or a "full" project.

Here are some recommended readings to help with excellent maintainership:

You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and stay involved!

Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.

Thanks to the dedicated reviewer(s) as well.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

avpaderno’s picture