[Elgg 1.5-1.12 & 2.X & 3.X: Tidypics] v1.8.1beta9

Release Notes

Changes for release 1.8.1beta9:

  • Fixed php syntax error introduced in beta8 preventing group profile pages to be rendered (thanks to Pasley70 for reporting).

Changes for release 1.8.1beta8:

  • Requires Elgg 1.8.16 due to bugfix https://github.com/Elgg/Elgg/issues/5564 for the pagination on list pages to work,
  • Pagination support for the list pages (like "Most views" / "Recently commented" etc.) to show more than only a hardcoded number of photos in each list view,
  • List pages (like "Most views" / "Recently commented" etc.) to work correctly when logged out and to show only photos that the viewer is allowed to see based on access level settings,
  • "All", "Friends", "Mine" tabs hidden on "All photos" page when logged-out,
  • "Upload photos" button hidden when logged-out,
  • "Photos you are tagged in" sidebar entry hidden when logged-out,
  • "Tag" entity menu entry hidden when logged out,
  • "Photos you are tagged in" page revised,
  • List of members tagged in a image in sidebar when viewing an image (by including a code snippet of the Tagged People plugin by Kevin Jardine),
  • Fix in image and album save actions for deleting all image/album tags to work (referring to the usual Elgg Entity tags),
  • Improvements in handling Tidypics user and word tags of images (including CSS improvements) to play well together with the image entity tags (avoiding double tags to be added, removal of corresponding image entity tags when an Tidypics image word tag is removed),
  • River entry on adding word tags to an image,

Includes the following changes in Tidypics from official Tidypics repo at https://github.com/cash/Tidypics:

  • made the albums notifications overridable rather than calling object_notifications() directly (by Cash Costello),
  • fixed: security issue with showing malicious exif data (by Jerome Bakker).
  • a) Is it possible to make "Photo-Tagging" an optional Feature? (Some Comminities do not like it because of personal rights. See Facebook - you need the Permission of the tagged Person). b) On the photo page are many filter options. Especially in small and new networks many filters do not make sense. Let this also optionally specify? Maybe a) and b) is solved by overwriting views?

  • @Pasley70:

    Enable/disable photo tagging IS already an option: "Enable photo tagging". It's the first option on the settings tab of the Tidypics plugin settings page.

    For customizing which menu entries should be included in the sidebar you can set this on your own in mod/tidypics/views/default/photos/sidebar.php. I think it's quite straightforward how you would do that. Simply comment out the elgg_register_menu_item() calls of the menu items you want to be hidden. I don't think it would work easily to make every single menu item to be configurable as plugin option (and it would mean to include an if-clause for each menu item in the sidebar.php file, too). Some of the menu items are already checking against a plugin setting or the availability of a plugin (fivestar rating plugin). But for the others it seems much easier to simply comment them out if you don't want them to appear. The pages will still be accessible if you know the url but I don't think this is a problem as they will only list photos that the user is allowed to see anyway.

  • @iionly Thank you very much for your help and tipps!!

  • when I'm not logged in and I visit the section "www.mysite.com/photos/all" I get the button "Upload photos". Pressing it gives the following error:

    Fatal error: Call to a member function GetGuid () on a non-object in / home/content/81/11042981/html/mod/tidypics3/views/default/photos/selectalbum.php on line 23

    The button "Upload photos" should be hidden from users not logged

    They could fix this problem?

    thanks

  • @Material Cristiano: are you using the latest version (beta9)? The upload button should no longer be visible when logged out then. Though you will need to update also to Elgg 1.8.16 to be able to use beta9.

  • Then there's definitely something wrong on your site. In beta9 there's a check if the user is logged in before the button is displayed. It can't show up for logged-out users.

    Try a fresh install of Tidypics: first disable it, then remove the tidypics plugin folder completely before copying beta9 again on the server. Then enable the plugin again. Maybe some deprecated files from a previous version remained that causes the issue.

    If this does not solve the issue the only other explanation I currently have is that another plugin or your theme causes the issue. For example I notice that there's a "Fotos" entry in the site menu opening the photos/all page. This entry is NOT created by this version of Tidypics here. Even if you changed the name of the menu entry yourself it should open the photos/siteimagesall page. So, if the re-installation does not solve the issue you need to find out which other plugin installed on your site interferes. Unfortunately, I can't fix things caused by other plugins.

  • @ iionly, I am using beta9 and some users are reporting some few issus while uploading their photos

    Gateway error:  white  screen with the error below

     

    Fatal error: Call to a member function getURL() on a non-object in WebsiteURL/mod/tidypics/views/default/object/image/navigation.php on line 20

    This is how the above error is triggered....  When a user uploads 3 or 10 photos with file size below 5 MB each and while the photos are uploading, the  Gateway error ... pops up and the site breaks...

    The thumbnails are uploaded but when you click on them, you can not see the master... the only thing the user who has clicked the thumbnail photo will  see is a white screen witht he Fatal error! 

    Any idea why this is happening?

  • I will let you know how the error goes... I am trying to check the server setting and see what might be happening....

  • @Tom: I think the Flash Uploader is causing the issue. I can reproduce the error but I don't know yet what exactly causes the problem and how to fix it. I need to investigate in more detail. One thing that seems broken is the update of an album's image list which is needed to move from one image to the next or previous image via the error keys (this results in the error you see).

    For now I would suggest to disable the Flash Uploader in the Tidypics plugin settings and use the Basic uploader instead. It seems the broken images are also not displayed in the album view at all (but only on the All images page).

    In case you might want to remove the images that fail to work you can use the following script:

    <?php
    /**
     * Deletion of a Tidypics image (if image does not get properly displayed and delete button can not be reached)
     *
     * How to use:
     * - Copy this script into a the root directory of your Elgg installtion (name it for example "delete_tidypics_image.php"),
     * - note the GUID of the image you want to delete (this is the number included in the url of the image, e.g.
     *   http://site.url/photos/image/GUID/imagetitle)
     * - Call in browser: http://site.url/delete_tidypics_image.php?guid=GUID (replacve GUID with the number you noted)
     *
     * Safety: this script can only be executed if you are logged in as admin. Otherwise it won't do anything. It will also delete only
     * a Tidypics image entity and nothing else.
     *
     * Please test with a single image first. If you don't get it working, don't try any further but first ask me why it might fail!!!
     *
     * iionly@gmx.de
     */

    require 'engine/start.php';

    if(!elgg_is_admin_logged_in()) {
        register_error("There's no admin logged in in this browser session.");
        forward(REFERER);
    }

    $guid = (int) get_input('guid');
    $entity = get_entity($guid);
    if (!$entity) {
        // unable to get Elgg entity
        register_error("There's no Elgg entity with this GUID.");
        forward(REFERER);
    }

    if (!$entity->canEdit()) {
        // user doesn't have permissions
        register_error("You need to be logged in as admin to be able to delete the image.");
        forward(REFERER);
    }

    $container = $entity->getContainerEntity();

    $subtype = $entity->getSubtype();
    switch ($subtype) {
        case 'image':
            $forward_url = $container->getURL();
            break;
        default:
            register_error("This GUID does not belong to a Tidypics image-entity. Deletion does not work.");
            forward(REFERER);
            break;
    }

    if ($entity->delete()) {
        system_message("The Tidypics image-entity was deleted.");
    } else {
        register_error("Deletion failed.");
    }

    forward($forward_url);

  • I still haven't found the bug itself, but it seems the Flash Uploader stopped working with beta8/beta9 while it works with beta7 even on Elgg 1.8.16. So, I need to find the change between beta7 and beta9 that results in the Flash uploader to fail.

  • @ iionly, Thanks.. Also Gateway Time out might be caused by server itself..

    504 Gateway Time-out

     

    The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server specified by the URI (e.g. HTTP, FTP, LDAP) or some other auxiliary server (e.g. DNS) it needed to access in attempting to complete the request.

     

    SO, can we make the master file uploaded to be smaller like facebook upload master photo files so that the time taken to slice the picture into small, medium, large and master size can be reduced hence low rate of Gateway time-out by the server?

     

  • I have to recall my statement of yesterday of the flash Uploader not working in beta9.

    Before I even started testing I reviewed the code and thought I could improve stability by changing something. Well, the change failed to work but I realized it only later when I already posted here that the flash uploader fails to work. Only when I tested every single change in the code between beta7 and beta9 and the flash uploader continued to work even on beta9 with all changes included I finally realized that there wasn't a bug introduced in beta9 at all. I might be able to increase the stability of the flash uploader slightly for the next release but don't expect any wonders. The uploadify library used by the flash uploader is surely not the best choice and as soon as I have the time I will try to replace it with some other (hopefully more stable) library. In the meantime: if you have trouble with the flash uploader I would suggest using the basic uploader.

    @Tom: sorry but I think there's no general issue with flash uploader as such. The reason it is unreliable on your site could be due to a few factors.

    First, a question: are the thumbnail previews of the images that result in the error when trying to load the detailed view included in the album view or are they not shown when you view the list with all images of an album? If they show up the problem resulting in the error might be for a different reason than I thought anyway. Have you upgraded to my fork of Tidypics from the official Tidypics? If yes, did you remove the old plugin folder before copying the new version? This should be done to prevent negative side-effects due to obsolete files. You might also check on the Tidypics plugin page if you need to "Upgrade" the database entries of the existing albums and images created with the former version of Tidypics. Additionally, it could also help to set the album access level again as this will also update the images' access level to the same value (actually you would need to change it twice - first to some other access level and then back to the desired access level as only on a change the images' access levels are updated). If all images of an album have the same access level (at the same time corresponding with the album's access level) there shouldn't be any issues with previous and next images not being accessible.

    The images are resized on the server. There are three different sizes of thumbnails created: the large one for viewing a single image, a medium sized thumbnail for the album list view and a small thumbnail for the activity entries and widgets. If you set the size of the "master" thumbnail (I guess you mean the large size used on the single image views) to a smaller size this won't improve the server load much because the original image uploaded is still of the same size. The only way to limit the size of the orginal image that gets uploaded (and reduce the server load / memory requirements at least a bit) is by limiting the allowed image file size in the Tidypics plugin settings. By default the max file size per image is 5 MB. If you notice that the error only occurs on large images you could set the max size to some smaller value.

    Another option to reduce the memory needed for image resizing is by using the ImageMagick tools instead of the default GD php extension. The command line tool necessary (included in the ImageMagick package) is called "convert". If it's installed on your server you need to provide the path to this command in the Tidypics plugin settings. If it's not installed or you are unsure, you could ask your webhoster support.

  • @ iionly, thanks for your input... the 504 time-out was being caused by server setting or configuration. I have reset a few things and I am not getting the error any more... It looks like the server was timing out before the upload was done and that is why i was getting the Gateway time-out errors while using basic uploader and flash uploader... Now everything works while uploading large files without any issues..

     

    Thanks..

  • Hay,

    I'we some troubles while uploading images of resolution for example 4000 X 3000.

    When I do that, I just get a white screen, and when I go back to the image gallery, there is an entry with the picture name, but no picture. With lower resolutions it works fine. What can I do, that I and my users can upload pictures of any sizes.

     

    Thanx

  • @Soor: my guess is that you have configured Tidypics to use the GD php extension for image resizing / thumbnail creation. The problem is that this library needs A LOT of memory because it will create an uncompressed copy of the uploaded image in memory for resizing (uncompressed = width x heigth x color depth). So, an image with a large resolution could result in an out-of-memory issue. The problem is that this situation is hardly to avoid as you don't know beforehand the memory requirement for resizing of an uploaded image (even a very small file-sized image with a high compression rate could have a too high resolution already for your server's memory limit). The next problem is that there's also no good error handling of the GD image resizing functions, i.e. if they are out of memory they simply fail without a way to catch this situation.

    My advice: if possible use the ImageMagick library instead of the GD php extension. You would need to provide the path to the convert command line tool included in the ImageMagick library on the Tidypics settings page. If in doubt ask your hoster where it is installed or in case it needs to be installed and you can't do this on your own. The ImageMagick library will have a much smaller memory footprint and there shouldn't occur similar issues for resizing of images with a high resolution.

    If using the ImageMagick library is not an option the only other way is to increase the value of the memory_limit php variable as much as possible. This would need to be changed in Elgg's .htaccess file and possibly also in the php.ini of your server. But this way is not the best solution as you won't be able to increase the memory_limit without restrictions. More than 128M would surely be too much on most servers. And even with a larger memory_limit there will still be some limitations on image resolutions.

  • @iionly

    Thanx for this. You are wright, I am using GD php extension. I'll try with ImageMagick library.

  • @iionly, do you know how can I edit size of images in gallery? Not 153px.

     

    thank you!!

  • @xhipri09: changing the thumbnail sizes used by Tidypics is possible by adjusting the sizes on the Tidypics profile settings page. Though this will only affect images uploaded after the change because the different thumbnails are created when uploading an image. For re-sizing the thumbnails of a single image (also for trying to create thumbnails when it failed during upload) there's the "thumbnail" tab where you can process a single image by entering its GUID number. Of course, this might not be very useful when in need for re-sizing many images. In this case you better write yourself a little script that does this automatically. You can use the action file mod/tidypics/actions/photos/admin/create_thumbnail.php as starting page for writing this standalone script. create_thumbnails is used for processing a single image. So you would need to modify it accordingly to process either all images or for example all images of an album. Though you might use such a script with care as it might run for quite a while depending on the number of images to handle.

  • Like always! THANK YOU iionly!!

  • First of all thanks iionly for your hard work.

     

    I tested this version on latest elgg. I found few bugs and I am posting here.

    Error handler is not working properly.

    Please tested below url in your environment.

    localhost/photos/owner/anydeletedusername. (it will give you server error 500 instead not found.)

    same with RSS.

    photos/owner/deleteduser?view=rss

    After upgrading few of album id's are changed and old id's are now giving same 500 server error.

    I hope it will help you to improve in next version.

     

  • @ghuman: I'm sorry but I can't reproduce any of the issues you are describing. If I enter site.url/photos/owner/<nonexistingusername&gt; (or the rss view) I get redirected to the site's index page as expected. If the username exists there is shown the page with this user's albums (showing no albums if there are none). This behaviour is perfectly like it should be.

    I also don't know what you mean by "upgrading albums" in connection with album ids. The album ids, i.e. the entity GUIDs won't get changed by any feature within the Tidypics plugin I'm aware of.

    Are you sure you installed/upgraded to this version of Tidypics correctly? You would need to remove the old Tidypics folder before installing the new one. Also, if you change the id / GUIDs of albums or images by other means than the Tidypics options I don't think I can consider this in any way. Is it by another plugin or by modifying the database directly? If it's done by another plugin you should rather ask the developer of this other plugin what's wrong.

  • I'm getting an issue in my 1.8.16 installation tidypics beta9.

    The most recent photo I uploaded to an album replaces the previous photos in that album, I get the following message when I try to click on the image The requested content cannot be loaded. Please try again later.

    Is there a way to downgrade back to the tidypics rc1 version?

  • @iionly:-

    I resolved above issue by restoring from backup and then upgrade everything again.

    But one more thing I am facing from last release.

    localhost/photos/thumbnail/any old guid id/master

    Master is not found in all ols pictures but if I upload new picture then master is available.

    I tried to generate thumbnail from admin area new uploaded pictures are succesfully regenerate thumbnail but old pictures give error like file not found.

    When I check the actually location all 4 files are same are newly uploaded files.

    How can I fix this error?

    Webmaster tools is full of not found error due to this problem.

    One more thing. FYI.

    1). Comments for album are not enabled.

    2). You also need to remove "front" widget type from list view every widget is displaying summary which is not looing cool in group, front and profile page.

    3). In menu by default it is displaying all photos, but actually it should be all photo albums.

     

  • How can I remove recent images widget from group?

  • @clu55ter: before thinking about downgrading... are you sure you have upgraded correctly? You would need to remove the old tidypics folder in the mod directory before copying the folder of the new version to the server. Otherwise, there will be outdated files remaining that could result in issues. You also should disable the tidypics plugin before replacing the folder and enable it again afterwards. Additionally, there's an "Upgrade" button on the Tidypics settings page you should click on and you might also check the plugin settings if any changes are necessary.

    The "requested content cannot be loaded" error is most likely caused by a JS library issue. Hopefully, correct installing the plugin already solves the issue. If not: what version of Elgg are you using? Please also check if other plugins might cause the problem. The other problem with new uploads replacing existing images sounds very strange to me. I can't explain how this could even happen.

    If you still want to downgrade to the old Tidypics version: disable Tidypics, replace the folder and enable it again. There should be no lasting changes remaining.

     

    @ghuman: I'm sorry but once again I can't reproduce the issue you are describing. I've installed Elgg 1.7 with a corresponding version of Tidypics and uploaded a few images. Then I upgraded to Elgg 1.8 and upgraded Tidypics to beta9. All images including their master size thumbnail view worked as expected. Have I misunderstood the problem?

    Regarding you additional questions:

    • album comments: this is a tidypics plugin setting (disabled by default). Simply enable this setting.
    • widgets: I guess you refer to the album widgets? The list view of the albums in these widgets including a summary is intended.
    • the menu link leading to all photos instead of all albums is intended.
    • removing the latest images widget from the group profile page works like removing any other group widget: "Edit group" -> remove lastest photos group module.

Stats

  • Category: Photos and Images
  • License: GNU General Public License (GPL) version 2
  • Updated: 2021-11-14
  • Downloads: 140498
  • Recommendations: 232

Other Projects

View iionly's plugins