Groups File Access

File downloads for authorized users

Groups File Access is a WordPress plugin that allows to provide file download links for authorized users. Access to files is restricted to users by their group membership.

  • Provide file downloads for Premium Members.
  • Allow registered users to download files from your site.

Features

  • Restrict access to downloads to authorized user groups
  • Full multisite support (WordPress network installations)
  • File management area
  • Upload files via FTP and bulk import
  • File access notifications (customizable)
  • Flexible shortcodes: [groups_can_access_file], [groups_can_not_access_file], [groups_file_info], [groups_file_url], [groups_file_link], [groups_file_visibility], [groups_file_access_service_key]
  • Limited or unlimited number of downloads per user
  • Key authentication file access

Access to files is restricted by group membership. To be able to download a file, a user must be a member of a group that is assigned to the file. If an access limit has been set for the file, the user must also have accessed (downloaded) the file fewer times than the file’s access limit.

If you want to restrict access to a file to users that belong to a certain group, create the group, add the desired users to the group and assign the group to the files that the group should be able to access. More than one group can be assigned to a file.

Shortcodes are used on posts or pages to render links to files, provide information about files and conditionally show content to users depending on whether they are allowed to access a file.

For example, the [groups_file_link group="Premium"] shortcode renders links to files that members of the Premium group can click to download the files.

Downloads

See the Groups File Access product page.

The GFA PDF Viewer is a free integration with PDF Viewer.

Documentation

See the Groups File Access documentation pages.

Demo

Please visit the Demo site.


Comments

823 responses to “Groups File Access”

  1. Is there a way to use filenames for the URL, instead of a file id?

    E.g. instead of gfa?gfid=3 something like gfa?file=myfile.pdf

    Thanks.

    1. Hi Jon,

      No that’s not possible, the links must be in the specific format using their ID.

      Cheers

  2. Hello,

    We are running a medical lab to test patients blood type, etc. and we would like a way to post their test results (pdf) where they can download them. however, we want to limit the downloads to only the patient and the doctor. Is there a way to do that without creating many groups?

    1. Hi Said,

      As this extension is restricting access based on groups, for your case you would really have to use one group per patient. Not ideal, although it would work.

      Cheers

  3. I am using the “groups_file_link” shortcode (e.g. [groups_file_link group="somegroup" class="file-link" description="yes" order="asc" orderby"name"]) to output a list of files. I need to add the filesize to this list so items are listed like this: “Sometitle – 48KB” . Is there a way to modify the markup from this shortcode or a way to get all the file IDs and do a foreach loop passing the IDs to the other shortcodes like [groups_file_url file_id="8"] and [groups_file_info file_id="8" show="size"] to generate my own markup for the list?

    1. Hi Justin,

      You can use the shortcode [groups_file_info file_id="..." show="size"] or [groups_file_info file_id="..." show="sizeb"] in combination with [groups_file_url file_id="..."] (documented here) to compose your own markup, but this does not allow you to indicate the group to iterate over the files in it. You could of course loop over the related files in a template and use the shortcodes there or directly the API functions in the GFA_Shortcodes class.

      Another option could be to use the [groups_file_link] shortcode that iterates over the files in a group, you could use its description_filter shortcode attribute and craft your own filter function to include the size (or the output of one of the above shortcodes or its equivalent API function to obtain the size) and render it in the description.

      Cheers

      1. Justin Martin Avatar
        Justin Martin

        Hello, thank you for the reply. The problem with this approach is like you mentioned where I cant specify the group to iterate over the files in. The option about modifying the description_filter is interesting but ultimately I ended up writing a custom SQL query to get what I need. Thank you for your help!

        1. Hi Justin,

          Sounds perfect, with that you can probably fine-tune it more specifically to your requirements. If you have any suggestions or questions later on, please don’t hesitate to ask.

          Cheers

  4. Ian Smith Avatar
    Ian Smith

    Hi there,
    I am developing a new site for UK based charity and your pro version plug-in may suit their needs. Do you offer a discount for registered charity/not for profit organizations?
    Many thanks
    Ian

    1. Hi Ian,

      Thanks for asking! As we sell our Groups File Access extension on CodeCanyon, it’s up to them to offer promotions for the products there. I would certainly recommend to ask their sales team, maybe they can offer you something.

      Cheers

  5. Constantin Avatar
    Constantin

    Hi there!

    I recently bought the plugin. I dug around a bit and noticed that the error messages for downloading files are static and not even translated (/lib/core/class-groups-file-access.php#410). I was wondering if you had any plans to translate and maybe offer the message as template(s) that a theme could override.

    Cheers, Constantin

    1. Hi Constantin,

      The messages you refer to are those that are rendered when access is denied, strings in the plugin are otherwise translatable. I can’t think of a good reason not to allow to translate those, so I’m putting this on our todo list for inclusion.

      Thanks for the suggestion, Cheers!

  6. Hi,

    I use a plugin called WP MAIL SMTP to handle internal emails and I’ve recently changed the SMTP credentials since switching email servers (from Mandrill to Amazon SES). I’ve confirmed that changing the settings has caused me to stop getting file download notifications from Groups_File _Access plugin. All my other internal emails that depend on these SMTP settings are still working, so it’s just the Groups_File_Access plugin that is broken. I’m wondering if there’s something I missed – like updating a setting?

    1. Hi Anna,

      I see this happening on a similar setup but haven’t been able to find out why this happens. Do you get any clues with debugging enabled? In any case, I’ll let you know as soon as we find out more.

      Cheers

  7. Dear develolper,

    I have this plugin installed on site. But now out of nowhere error 404 occurred when dowloading the file.

    Is this a known error?

    1. Hi Sjoerd,

      It wouldn’t happen out of the blue, I would recommend to review what has been changed on your site and what settings have been changed. Make sure to review the files and that the user account you are using actually has access to the files. The files should have at least one group related and the user trying to access must belong to that group. Please review the documentation http://docs.itthinx.com/document/groups-file-access/ for further details on the settings and process used.

      Cheers

      1. Hi Kento,

        I found out what happened: the internal directory structure of the server changed so the files could not be found on linux level.

        Is there a way to store file with relative path?

        Best Regards,

        Sjoerd

        1. Hi Sjoerd,

          In that case, you need to update the references. This can be done in two ways, either using a direct update query run on the database (as indicated in the lower section of this documentation page Moving to another Server – make sure to create a backup of your site and database before you run the query) or scan and import files as described in the File Import section.

          Cheers

  8. Michalis Avatar

    Hi,

    Lately, for some reason, when i try to upload a file, I am redirect to wp-admin/admin.php?page=groups-admin-files&orderby=file_id&order=ASCucm with the message “page not found”.

    The file is being uploaded (i can see the uploading percentage on bottom left side of browser), but when done, i get the result i mentioned above.

    Please advice.

    Thank you

    1. Hi Michalis,

      There was no change in the tool that would have caused this, I would recommend to review what has changed on your setup that might be interfering.

      Cheers

  9. Chris A Avatar

    I am having an issue with the Groups File Access plugin. I am using the [groups_file_link group="group"] to list files assigned to this group. When I hover over one of the links, I see “https://mywebsite.com/?gfid=48” and when clicked it does not pull the or attempt to download the document. I have set groups and users. I noticed the .htaccess file reflects a “deny from all” as the only line.

    What am I overlooking?

    1. Hi Chris,

      Assuming that you belong to the group while clicking the link, it would grant access and download the file. If that does not happen, the only plausible reason I can think of is that something goes wrong on the server side. I would definitely check its errors logs to see if there’s something in there related. Maybe the file is too large and you need to adjust limits. When you click the link, what does the Network tab of Firefox’s developer tools report?

      Cheers

  10. Hello,

    I have a question about your product.
    We have the following problem. We would like to have an area on our WordPress page where people can log in and then the same download is available for each person. Each registered person should have the possibility to upload data that only the person and the page admin sees and has access to. Is this possible with your plugin?

    Best regards
    Marcin

    1. Hi Marcin,

      Thanks for asking, I’ve replied to a similar question today and it’s good to see there is more interest on this kind of feature.

      Currently the extension is designed to upload files on the back end, while users with permission (group memberships) can access those files on the front end.

      I’m quite convinced that having a feature where users can upload files on the front end would be a great addition to this extension. Given that there is sufficient interest in such a feature since quite a while, we’ll move the priority of the feature request up even more in the queue. But I still can’t promise when exactly we will have this available.

      Cheers

  11. Hi Team,

    Is there any update available for the plugins to be compatible with PHP 7 and above

    1. Hi Robin,

      Yes, Groups File Access is built and tested with the latest PHP 7.x as are our other plugins.

      Cheers

  12. Hello,

    Is there an option for a user to upload a file via the front end because I don’t want him to connect to the WordPress administration interface.
    Thank you for your answer.

    1. Hi Emilie,

      Thanks for asking, at current the extension does not provide functionality that would allow a normal user to upload files via the front end. I agree that it would be quite useful to have and there have been others asking for this previously, too, so I would like to have it added at some point but I can’t promise on a specific time at which that would be available yet.

      Cheers

  13. Hi there,

    There is a problem with the m4b file loading.
    When I download a file in an m4b format to admin, then after downloading, mp4 is added http://prntscr.com/m4jrkl
    This happens only when using Safari. Maybe it depends on the type I chose Audio http://prntscr.com/m4jspg
    Is there a solution to fix this?

    1. Hi,

      This is not an issue with the plugin but can be related to how Safari handles specific file types or your web server’s MIME types. I would check if there is an entry for audio/x-m4b to be sure – as your file indicates MIME Type: audio/mp4 it could be that your server does not have an entry for this type.

      Cheers

      1. Hey,
        Now, the MIME Type isn’t correctly detected when the m4b file is loaded.
        As I understand it, the plugin doesn’t know this type and writes another type to the data of the downloaded file.
        Do you have the correct file type on a Safari when you download?

        1. Hi Vlad,

          It’s not the plugin that needs to know about the MIME type, it’s the server. The server needs to send the correct MIME type in the response header. So you should check if your server has an entry for audio/x-m4b – if your server indicates MIME Type: audio/mp4 then it does not have an appropriate entry for the file type you want. Some useful info where you can see more about that:

          – information about MIME Types
          – example nginx.conf including its mime.types
          – Apache’s mod_mime

          Cheers

  14. Hi, I’m running a php compatibility checker on my plugins before switching to php 7.2. I’m getting this warning from Groups File Access:

    FILE: /nas/content/live/cignalai/wp-content/plugins/groups-file-access/lib/file/class-gfa-file-renderer.php
    ———————————————————————————————————–
    FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
    ———————————————————————————————————–
    71 | WARNING | INI directive ‘safe_mode’ is deprecated since PHP 5.3 and removed since PHP 5.4

    Currently the plugin is compatible, but it would be good to remove this warning so it doesn’t cloud the server log, and to prevent potential problems with future php versions.

    Thanks!

    1. Hi Anna,

      Indeed you are right, this should be removed as with the current minimum required PHP versions this is rather useless. We’ll take care of it. Many thanks for pointing that out!

      Cheers

  15. What I know is that if I copy this link that appears in the window when the PDF is downloaded, in Chrome let’s say, and then copy the link: file:///Users/taridonohue/Downloads/Wiancko-Update-Q2-2018%20(1).pdf into a window in Firefox, the PDF is viewable within the browser window.

    If I click on the link in Safari, it presents the doc in its own Acrobat window, which I think is very nice, with no filename in the browser window. But not many civilians use Safari.

    When I added files from the Files list to a Groups page, I simply copied and pasted the document title, which I see now is not the preferred method, but does link.

    But when I put in shortcode: [groups_can_access_file file_id="18"] Wiancko-Update-Q3-2018[/groups_can_access_file], the text shows but is not linked.

    (It doesn’t appear I can show a screenshot.)

    Thanks for your help on this. I am down to the 11 o’clock on this.

    1. Hi Tari,

      The link you mention is not http:// but a file:// link … you’re probably testing on local and obviously can access the file there. In any case, you seem to be confusing files protected via GFA which visitors would try to access via their browser using http:// or https:// – these are protected via GFA, it’s not necessary for it to protect files on the filesystem itself.

      Cheers

      1. Do you think the documents will be protected if I paste in the actual link from the Files page and not the shortcode (since I seem to be doing them wrong?)

        1. Hi Tari,

          I would recommend that you simply use the corresponding shortcode and let the system render the link accordingly. For example, for the case you mentioned use [groups_file_link file_id="44"] and this will display the appropriate link.

          Cheers

  16. Please help! We are near the end of this website build, and I’ve discovered that while safari and Firefox allow for download only (which is my preference), Chrome displays the URL, which can then be copied and accessed in another window or browser.

    Hopefully this is because I’m not using the linking correctly. (I am copying the link name and pasting it in the page)

    But when I paste the shortcode with the file ID into the module, I can’t see the document name.

    I’m using [groups_file_link file_id="44"] with document number only, since the documentation says not to use both the group id and the file id.

    I’m in panic mode. What am I doing wrong??

    1. Hi Tari,

      I assume that you are worried about whether the file would be exposed if people can paste the link? That’s not an issue, the URLs are always exposed whether you can ‘see’ them or not, but access to the corresponding files is protected. As long as the file is handled via GFA (and not via the media library) the access is protected, you don’t need to worry about that.

      I don’t quite understand what you mean with this though: “But when I paste the shortcode with the file ID into the module, I can’t see the document name.”

      The shortcode you are using also looks ok to me and should produce the corresponding link – please note that it will produce an HTML anchor tag to be precise, not just a URL. If the latter is what you want, then you would rather use the other shortcode, for example [groups_file_url file_id="44"] – Or are you using this with a page builder and it does not render?

      Cheers

      1. Kento, with my last reply, I may have posted a new comment instead of replying to the one above.

        Additionally, when I copy the link into a new browser window, I can see the document and it provides me the ability to download it.

  17. I bought Groups File Access. I want to make it so all the files already uploaded in my media library will ne protected from showing up in search engine results and being accessed by people outside our set groups. I don’t understand the documentation for the plugin. How do i make my entire media library (which is already all uploaded in the media library) protected with groups file access?

    1. Hi,

      GFA is not designed to protect the Media Library, at least not in its current state and that is mainly due to technical constraints. Instead, it maintains the protected files separately where access to them can be effectively restricted to authorized users only.

      Taking into account the above, which part of the documentation do you need help with?

      Cheers

  18. Hi there,

    I bought this plug-in so that we could stop access to our files through search engine results. Can this plugin do this and how? How can I contact further support?

    1. Hi,

      You will find details on how to use the plugin on its documentation pages: http://docs.itthinx.com/document/groups-file-access – as you will see, the files that are protected by the plugin will not be accessible by unauthorized users (search engines included).

      Cheers

  19. Hello,
    I took Groups File Acces plugin for my e-learning website. I also use groups plugin for user roles.

    I have many videos on my site and I would like to restirect video files. I can upload my video files from Groups/File Import menu. But I can’t embed this video files to my pages.

    Can I embed video files ? If yes How?

    Thanks

    1. Hi,

      Yes, on this page http://docs.itthinx.com/document/groups-file-access/examples/ you will find several examples, including a section under the heading “Embedding Video”.

      Cheers

  20. I’m considering using this plugin for file access, but I have a question about this plugin. I want to manually upload all the files to the group file access folder under WordPress because I have a lot of files. It will take forever to use the import option through the WordPress site.

    Once the files are uploaded, can I then setup group file access links and reference the path to the file(s) that I want to be protected?

    I hope my scenario and question makes sense. Please let me know. Thanks!

    Michel

    1. Hi Michel,

      Yes that’s possible, you would be interested in the “Scan for Files” section to prepare the import based on existing files in the extension’s folder – please see this documentation page for details: File Import.

      Cheers

  21. I am posting PDF files to my website. I just purchased Group File Access to protect them, but I realized that it requires files to be downloaded before opening. Is there any way to allow users to simply open the file?

    1. Hi Elizabeth,

      This is mostly beyond the control of the GFA plugin because it is set by the user at the browser level.

      Cheers

  22. Is it possible to have a limited number of downloads per user for a given month…..not just lifetime?

    For example, I want to give my members 20 groups file access downloads per month. And then next month those 20 would expire and they would receive another 20.

    I see the ability to set it for a total number per user but I don’t see the ability to reset that number of downloads after a certain period of time.

    Is this possible using Groups File Access?

    Thanks!

    1. Hi Mike,

      It’s possible but needs to be implemented for the particular case.

      The extension provides a filter that can be used to extend the conditions used to determine whether a user’s request to access a file is granted. The filter groups_file_access_can_access is documented on the API page.

      To approach the condition you have outlined, you could simply store the number of monthly file accesses per user as usermeta, i.e. add_user_meta( $user_id, 'gfa_monthly_count', $count, true ); – use the filter above to increment the $count and reset it at the first request of the new month. In this case, you would not use the built-in limits, just make sure that the user has access to the requested file, so with the above filter, the first argument passed to the filter hook should be true.

      I hope that this helps a bit.

      Cheers

  23. Hi,
    I use [groups_file_link group="agenda']
    I like to get an title above my files. So I put Agenda above the code and I get:
    Agenda
    – 1 dec
    – 2 sep
    – etc
    But when there are no files I don’t want to see the title Agenda.
    Is there an option I can put in my shotcode to get this done.

    1. Hi,

      The most immediate solution to this would be to use Javascript to hide the header if the number of elements produced by the shortcode is 0. I’m suggesting that because we don’t have a shortcode that would allow you to render content conditionally based on the number of files. I hope this helps a bit!

      Cheers

  24. ak litho Avatar

    Hi, I purchased Groups File Access and set it up – worked great! But our site moved to a new server, and now no files load. In the File Access details, the path is correct and lists the path for uploads on the new server. However all of the individual files (225) are showing the old path and that path is not editable. Is there a way to run an update on these files that keeps the name, description, and groups that are set up?

    1. Hi,

      Thanks for using it! Yes, you can do an import on these files on the new server – first use Export Files under Groups > File Import then use the generated file to Import Files in the same section.

      Cheers

      1. ak litho Avatar

        Thank you! I did end up doing the find/replace in the database but this is great to know in case someone in the group without that access needs to update files later.

    2. I also had this. You can also do a search and replace on the database. Search: [old path] Replace by [new path].

      I use this script to do this: https://github.com/interconnectit/Search-Replace-DB

      1. ak litho Avatar

        Thank you!

  25. I am seeing with this plugin that the file is not pulled from the Media Library but must be uploaded to the host server via FTP.

    This makes it almost impossible for the client to manage their own documents. Is there any way to pull the doc from the Media Library and assign that link in the File Manager?

    1. Hi Tari,

      The system maintains protected files outside of the Media Library – I know that controlling those directly is a much desired feature and have been looking at the possibilities to include it but it’s not available yet.

      Cheers

      1. Okay, thank you. Just wanted to make sure there were no other options before proceeding.

  26. Hey,
    I’m currently developing a custom wordpress theme which has 20-30gb of documents imported onto a custom post type I’ve created.
    Now, I am using your standard Groups plugin to manage post access, which basically each post just has a “title” a “description” and a “media upload file” field which are created with the ACF plugin.
    Now, I’d like to know whats the best way, or even if its possible to make files already uploaded to private posts also private.

    Thanks in advance,
    Rui Fernandes.

    1. Hi Rui,

      As we don’t have a mechanism to protect files in the Media Library with GFA, I could only recommend to switch them over to be controlled by the extension until that is possible. Another option would be to use temporary links via Amazon S3 for example.

      Cheers

      1. Rui Fernandes Avatar
        Rui Fernandes

        Hey once again,
        What about the possibility to add a custom metabox and upload prviate files associated with the posts group?

        1. Hi Rui,

          The files would still not be handled by GFA, that would be the main issue I see, as you wouldn’t be able to protect them with the extension. I mean it’s a great idea, but it would require quite some custom coding to make it work. Sorry if I’m not much of a help with that at the moment, I’d love to have this built into GFA itself.

          Cheers

  27. Hi,

    I’m trying to programmatically set things up such that if any file is uploaded by a specific user “X” then that file is only viewable by the Group whose name is identical to the filename (disregarding the extension).

    The idea is the specific user “X” would be Zapier…for that reason it’s not possible to manually add the file through the normal Groups File Access admin interface.

    Can you guys help?

    Thanks very much

    1. Hi Sonny,

      Ok I see, this would really require an adequate integration with Zapier, including Groups and Groups File Access. It’s not something that I could help you with without having these ready. Sorry if this isn’t of much help …

      Cheers

  28. Hello,

    Can protected pdfs be opened in the browser instead of downloading to the local computer?

    Best regards,

    Sjoerd

    1. Hi,
      You can use the GFA PDF Viewer free integration with PDF Viewer.
      Kind Regards,
      Antonio B.

      1. Sjoerd Faerber Avatar
        Sjoerd Faerber

        I get a Invalid URL for PDF Viewer

        1. Hi,
          this is the link: https://wordpress.org/plugins/pdf-viewer/
          Kind Regards,
          Antonio B.

          1. Hi Antonio,

            Strange thing happens. When I add the pdf from the WP media library the PDF is shown.
            Added like this: [pdfviewer width=”600px” height=”849px” beta=”true/false”]http://full-url/document.pdf[/pdfviewer] it works.

            But added like this:
            [gfapdfviewer file_id=”1″ session_access=”yes”]

            pdf.worker.js:247 Uncaught Error: Bad end offset: 51682

            1. [gfapdfviewer file_id=”13″ session_access=”no”] now it works….

              1. Remove former reply… It still gives errors:

                The provided value ‘moz-chunked-arraybuffer’ is not a valid enum value of type XMLHttpRequestResponseType.

            2. Hi Sjoerd,

              In the shortcode you have posted, the double quotes are slanted – like this ″ – they should be plain double quotes – like this ” – if you’re using the slanted ones, then it will certainly not work. Can you please check that?

              Cheers

  29. is there anyway to add an extra parameter to files to associate them for grouping. I want to group files per event , or per class in some kind of grid …I have already purchased the module via codecanyon thanks !!

    1. Hi Allan,
      From Groups->Files you can add/remove groups to/from the files.
      Kind Regards,
      Antonio B.

      1. I mean like grouping related files to each other. For example all files for an event on a day. That are related to each other by some common field. So if 1000 files that are assigned by permission groups to then be grouped by date or related event.

        1. antonio Avatar

          Hi Allan,
          There isn’t an option for grouping the files per days or events, but you could use create extra groups and associate the files to these gorups, please have a look at this conversation with Sarah, maybe you could use this solution.
          Kind Regards,
          Antonio B.

  30. Been using this plugin for, i think over 5 years, on two sites. I was sure we paid for it back then, but i cannot remember since it has been so long. We use it with woo-commerce and all the woo plugins for restricting pdf newspaper downloads.
    Anyhow, i recently updated our server to php7.1 , everything was great until i tried to upload a file to Groups/Files. The Files tab is blank. everything else shows up. I cannot upload a newspaper for our subscribers to download.
    I went into our server and set up multi PHP and set one site back to PHP 5.6 and the Groups/ Files shows up and works again.
    Is the Groups File Access plugin not PHP 7+ compatible? The version we are runngin appears to be 1.0.12

    1. Hi Trevor,
      Your plugin version is too old. Please download the latest version from Codecanyon.
      Kind Regards,
      Antonio B.

  31. Nidhi Gupta Avatar
    Nidhi Gupta

    Hi there, I have been using this plugin for more than a month now and suddenly the files are not accessible even though I checked and all the permissions are correct and users are logging-in using the correct account details. We are only getting forbidden access message. Please help!!.
    Its urgent.

    1. Hi Nidhi,
      Please check from Groups->Files if the file’s path is the correct.
      If the problem persists, please send me dashboard admin access to antonio[at]itthinx[dot]com indicating this conversation and I’ll have a look at your settings.
      Kind Regards,
      Antonio B.

  32. Hello,

    I just bought your plugin yesterday and it appears it cannot handle a folder system. I put all files into the uploads folder but it only read those files that are outside of the folders I also placed inside. I have thousands of files with a complex file structure. Is there any way to get this to work? Without this functionality the plugin does me no good. 🙁 Thanks in advance!

    1. Hi Angela,
      Sorry, the plugin only works with a main folder. If you need refund, please have a look at this Codecanyon refund page.
      Kind Regards,
      Antonio B.

      1. Thank you, Antonio!!

  33. We are using the latest for all:

    Groups 2.3.0
    Groups File Access 1.6.2
    WP Mail SMTP 1.2.2

    WP Mail SMTP is configured to use an external SMTP mailer, “Other SMTP” in the settings.

    The admin email for our site (set in WordPress general settings) is “clients@cignal.ai”. But emails from Groups File Access come from “wordpress@cignal.ai”.

    1. Thanks Andrew,
      It seems that we send the email before the SMTP plugin is loaded.
      I created this plugin, which should solve it.
      Your feedback is welcome.
      Kind Regards,
      Antonio B.

      1. Thank you for your help. We will add the code to our theme.

  34. Is it possible to change the notification email address from Admin? We’d like to use Zapier to act on the file download notifications but by default they are sent to the administrator. Seems like this would be a useful feature.

    Also, we use WP Mail SMTP (popular plugin) and on Dec 12th Groups stopped sending it’s email through this plugin and instead started sending directly from our server.

    Here’s the SMTP changelog. Our other plugins appear to have adjusted to the change and are working correctly but not this one.

    https://wordpress.org/plugins/wp-mail-smtp/#developers

    We use a dedicated mailing service for verification purposes – we use DMARC and now all of the emails to admin from Groups File Downloads are flagged as Spam.

    1. Hi Andrew,
      The plugin uses the wp_mail function to send the notifications. Maybe you can use the ‘wp_mail’ hook.
      Related to Groups and SMTP, where are the plugin sending the emails? Are you usign any integration?
      Kind Regards,
      Antonio B.

      1. The SMTP plugin is supposed to intercept calls to send emails and does so for all plugins. It then uses an external email service via SMTP (we use mandrill) to send the email from a clean IP address. The SMTP plugin intercepts all calls to send emails from wordpress core.

        It was working with Groups File Downloads until recently. Now, when Groups sends an email to notify the admin of a download, it is somehow bypassing the SMTP plugin. Is Groups File Download somehow using a deprecated method of sending email that SMTP isn’t intercepting?

        Aside from that, I found the code that sends the emails – groups_file_served(). It requests the $admin_email from WordPress. Other than editing the plugin itself, is there a way I can modify this function to send to another address?

        Also – at the end of this function it calls:

        self::mail( $admin_email, $admin_subject, $admin_message, $tokens );

        Shouldn’t that be wp_mail? Is the plugin calling the PHP mailer directly?

        1. Hi,
          self::mail is indicating the funtion mail in the class-groups-file-access.php file, that if you see this function, it uses the wp_mail WordPress function.
          Please give me your SMTP plugin version and the Groups File Access plugin version. I’m going to recreate the scenario to see if the same thing happens to me or not.
          Kind Regards,
          Antonio B.

  35. Im using the Groups file access and would like to show the file extention for rendered files? I need this for my application to accept the files!

    Regards

    1. Hi Tim,
      You can use the [groups_file_url] shortcode with the href html tag, instead of [groups_file_link]. Something like this:
      <a href="[groups_file_url file_id="456"]">My_File_Name.pdf</a>
      Kind Regards,
      Antonio B.

      1. Hello,

        Yes that works but i need it to be in the URL, im using the service_key to provide a URL to put in the application, how can i do this?

        for example: http://www.example.com?gfid=123&service_key=XXXXXXXXXX.pdf

        or something similar?

        1. Hi,
          Maybe adding an extra param with the name? For example: http://www.example.com?gfid=123&service_key=XXXXXXXXXX&name=my_file_name.pdf
          Really the ‘name’ param will not be processed. I have not really tried this solution, but I think it will work.
          Kind Regards,
          Antonio B.

          1. Seem to work thanks!

            Im also waiting for the ip filter, did you had time to lookinto it?

            Regards

            1. Hi Tim,
              You could remind me of the ip filter problem.
              Thanks,
              Antonio B.

              1. I sent you an email on the contact form from your website, please reply thanks

                Tim

                1. Please send me directly the email to antonio[at]itthinx[dot]com
                  Thanks,
                  Antonio B.

                  1. Sent you another email, please check your spam folder if you received it thanks!

                    1. antonio Avatar

                      Sorry Tim,
                      I have not received the email, please send me a copy to antonio.itthinx@gmail.com
                      Thanks,
                      Antonio B.

  36. Hi,

    I’m using the Premium version of Groups and Groups File Access on my site and am trying to track file downloads using Google Analytics. Using this plugin, I’m not able to track downloads the standard way on GA by detecting the file extension the URL. Do you have a suggestion for the best way to track file downloads with the plugin? I was thinking I could embed tracking code into the plugin, but I want to get an opinion from a plugin developer first.

    Thanks!

    1. Hi Anna,
      You can use the Groups File Access API if you need to get information about the access ( http://docs.itthinx.com/document/groups-file-access/api/ )
      I have created a simple plugin that displays some data: https://github.com/eggemplo/gfa_stats
      Kind Regards,
      Antonio B.

  37. Hi Itthinx team,

    I have bought your premium plugin on CodeCanyon months ago for a client website.

    My client has dozens of PDF files with restricted access to member groups with your plugin.

    She recently migrated all her website to another hosting company, but now it is not possible to access this PDF files, showing a 404 error message when somebody try to access to this restricted PDF files. “Not Found. The requested URL was not found on this server.”

    On the WordPress bakcend of the “Groups > Files” section shows the next message “Warning: finfo_file(/home3/(folder)/public_html/wp-content/uploads/groups-file-access/(name).pdf): failed to open stream: No such file or directory in /(folder)/sites/(website).net/web/htdocs/wp-content/plugins/groups-file-access/lib/uty/class-gfa-utility.php on line 77”

    Maybe the company that did the migration of her website did something wrong? we can recover all this links easily? or we need to upload again all the files in the new hosting.?

    Thanks for your help.

    1. Hi Javier,
      This message indicates that the file folder is not the same in the new server. You can re-upload the files, or accessing to the database, in the wp_groups_file table, change the prefix path according to the new server file path.
      Kind Regards,
      Antonio B.

      1. I have the same problem after migrating the site to a new host. I have removed the files from the Groups/Files page, & removed them from the groups-file-access folder on the host using FileZilla. But when I try to add one of the files I deleted, I’m told it already exists. How can that be?

        1. Nevermind, I was able to upload one of the files, so presume I can do all of them.

          1. Hi Ann,
            I’m glad it works for you.
            Kind regard,
            Antonio B.

  38. I have a question about Groups File Access, specifically restricting the ability to upload files.

    Currently, it looks like the WordPress admin can upload files and restrict access to those files. And that is fine.

    Is there, however, a way that I the admin can allow a specific user (who is not an admin) the ability to upload files without opening up any other functionality to them.

    Thanks.

    1. Hi Srama,
      The user needs to have access to the ‘Administer Groups’ capability. From Groups->Options you can assign this capability to roles.
      Kind Regards,
      Antonio B.

  39. Hello:

    Regarding the Groups File Access plugin I would like to know:
    1- If it is appropriate to set up an online store with WooCommerce that allows the client, after payment, to watch a streaming video (without download) during a certain period of time, for example, three days, three months, etc. During this time the client can watch the video as many times as he wants. Subscription with recurring payments is not necessary.
    2- If you encrypt the URL of the video?
    2- If it allows to know the IP of the client previously registered in a group with access permissions to the videos and detects and prevents in some way attempts to access the videos from other IPs of users who have not paid?

    Thanks

    1. Hi Jesus,

      #1 Yes that’s possible, you’d set up a product that grants group access during the desired number of days and restrict access to the page where the video is streaming with Groups.
      #2 Files handled by GFA are protected and use their own URL, the URL is not “encrypted”, it’s using an ID that directs at a specific file. The plugin supports Session Access (see the section under that heading on that page) and on please also look at this example of Embedding Video.
      #3 It doesn’t prevent access by IP, it protects files so only members of a group can access them (they need to be logged in to access a file).

      Cheers

      1. Hi Kento:

        So, if I have not misunderstood you, according to your answer it would be enough to use Groups (free) + GFA (for payment) to set up an online store with WooCommerce that allows the previously registered client, after payment, to watch a streaming video ( without discharge) during a certain period of time?

        I ask because the GFA and Groups documentation does not mention WooCommerce.

        Thanks, Jesus

        1. Hi Jesus,

          It’s not really depending on WooCommerce, Groups + GFA do their own thing pretty well together. It’s rather a question of how to combine things to come close to requirements. So as there is no specific general requirement related to WooCommerce, you won’t see anything particular in there 🙂

          Cheers

          1. Hi Kento,

            But, then, Groups + GFA can be integrated with WooCommerce or not? Because the goal is to sell the videos as virtual products in WooCommerce.

            Thanks, Jesus

            1. Yes of course they can be used together, but it doesn’t make sense to use GFA in this case because your videos are not hosted on your server but via Vimeo Pro. What you can do with Groups and WooCommerce is to sell access to the groups and use the groups to protect the pages where they videos are embedded. Video Pro also advertises “Sell videos online and worldwide” as one of the features of their Pro plan so I’d suppose they do offer some kind of container you can embed on the pages that will be secure. Let me know if that is so please, it’s interesting.

              1. Hi Kento:

                Thanks for the suggestion of the Vimeo API to hide the URL of the video. I’ve already asked Vimeo. This suggestion could solve the problem of visibility of the URL, although I do not understand how to prevent it from being copied. The sale of videos through Vimeo is another issue that we will address later, since marketing has to do it ourselves (Vimeo does not do it) we prefer to do it without intermediaries because it is more profitable. I’ll let you know when we do.

                There is another question that is earlier in the purchase process and that I do not understand when you say that what I can do is “create a page, protect it with a group and place the private link there”. Because the link to watch the video has an expiration, for example, 3 days. Where does the instruction automatically occur so that after three days the link does not work and, therefore, can not be used by the client? I thought GFA did that, but now you say that GFA is not necessary, that it only works if the video is hosted on a server of its own. But why does not GFA work if the videos are hosted on Vimeo, when today almost everyone hosts their content in the cloud?

                On the other hand, I do not see that Groups and WooComerce are enough to sell the videos, as you say: “sell access to the groups and use the groups to protect the pages where the videos are embedded”. Could you explain to me how it would be done? Why do not I see Groups joining WooCommerce? Because Groups is installed and does not appear in WooCommerce PRODUCT DATA, since this is where the type of product is indicated (simple, variable, virtual, downloadable, etc.). This is the appropriate place to indicate the restrictions that together bring (or so I understood) Goups + GFA: access to the video only for customers who have purchased it and to indicate the period of time that the video will be accessible. After that time, access to the client is automatically blocked so that you can not watch the video since the access you get with the purchase is temporary. If GFA is not necessary, as you say, from which plugin does this get done, since Groups does not?

                In short, how the problem is solved in the purchase process:

                1º The customer buys the access to watch a video without download, once the payment is confirmed, how do you automatically access the protected page where the video URL has been inserted using the Vimeo API as a container? What plugin does this and how?

                2º After the 3 days have elapsed, how and from where is the instruction given automatically so that they can no longer access the video? What plugin does this and how?

                Thanks, Jesus

                1. Hi Jesus,

                  Thanks for that, I’ll reply to the key points you mention:

                  – “… to hide the URL of the video. … the problem of visibility of the URL … how to prevent it from being copied …”

                  Of course you can’t prevent anyone from copying a link, the mechanism that grants access to the resource behind it is what secures it.

                  – “Where does the instruction automatically occur so that after three days the link does not work and, therefore, can not be used by the client? I thought GFA did that …” + “On the other hand, I do not see that Groups and WooComerce are enough to sell the videos …”

                  GFA protects files that you host on your own server, you upload files via GFA and it protects them by granting access to members of the right groups while they are members. If you want to sell access for 3 days using WooCommerce, then you’d need to use our integration between Groups and WooCommerce Groups WooCommerce. This will let you add a customer to a group automatically based on product purchases. It also works with WooCommerce Subscriptions.

                  Re #1 See Access Control with Groups – you would embed their video container on a page and protect that page using a group. You would set up a product that grants access to that group using Groups WooCommerce.

                  Re #2 Groups WooCommerce does that automatically based on the settings used for the particular product. If you use it with WooCommerce Subscriptions, then it will remove the user from the group once the subscription expires. If you use it with time-limited memberships (these don’t need WooCommerce Subscriptions and are built-in with Groups WooCommerce), it will automatically remove the user from the group.

                  I hope you get a better idea on how this works now.

                  Cheers

  40. Hello:

    Regarding the Groups File Access plugin I would like to know:
    1- If it is appropriate to set up an online store with WooCommerce that allows the client, after payment, to watch a streaming video (without download) during a certain period of time, for example, three days, three months, etc. During this time the client can watch the video as many times as he wants. Subscription with recurring payments is not necessary.
    2- If you encrypt the URL of the video?
    2- If it allows to know the IP of the client previously registered in a group with access permissions to the videos and detects and prevents in some way attempts to access the videos from other IPs of users who have not paid?

    Thank you,

    1. Hi Jesus,
      I think that you don’t need Groups File Access. You could do it with Groups. You could create protected pages where you embed you videos. So only users in the correct group could see the page content (videos).
      With Groups for Woocommerce you can sell access to the groups.
      Kind Regards,
      Antonio B.

      1. Hi Antonio:

        Your answer means that Groups (free) + GFA (payment) can not be configured with WooCommerce? Because it is not that registered users can access a protected page but that each client, after making the payment and registering, access the link that allows you to watch the video without downloading as a virtual product through WooCommerce.

        Thanks, Jesus

        1. It doesn’t mean that you can’t use it with WooCommerce, it’s another option. I’d say it really depends on where you host your videos among other conditions. So … where do you plan to host your videos?

          1. Hi Lento,

            Videos are hosted on Vimeo PRO.

            Jesus

            1. Ok with that you have the choice to embed a private video link on a page protected by Groups. You don’t need GFA if you don’t host the videos on your own server. What you can do is create a page, protect it with a group and place the private link there. But even the private links can be accessible by others if they know the URL so this is not completely secure – you can read more about that on Share unlisted videos with private links. Then they also offer the option to protect the video with a password, but if someone knows the private link and has the password, it’s still not completely secure because anyone could share that information with others.

              So … don’t they have an option where you can request the video container via their API and embed that on the protected page? This could effectively hide the video’s URL and would make it only accessible to group members who can view the content of the page protected by Groups.

      2. Yes, if he uses some kind of secured temporary containers for the video that could be an option and he wouldn’t need to use GFA.

  41. Hi Antonio,

    I have files assigned with multiple groups, please let me know what is the shortcode syntax for displaying files with multiple groups attribute?

    I understand to display files with a single group is [groups_file_link group="Group1"], but I’d like to display [groups_file_link group="Group1"&"Group2"], can you please help me with the right syntax?

    Thanks, Zhonghe

    1. Hi Zhonghe,

      You can use a comma-separated list of group names. For example [groups_file_link group="Group1,Group2"]. More info is available on the Shortcodes documentation page of the plugin.

      Cheers

      1. Thanks Kento.

  42. Hi Antonio,
    I am using group file access as a wordpress plugin. in the WP dashboard I was informed that there is a updated Version of Group File access available. Currently I am working with Version 1.6.0. I wante to confirm this is the latest version.
    Thank you and best regards,
    Max

    1. Hi,

      Thanks for asking! The latest version is 1.6.2 which is about to be released (before that it was 1.6.1). You should also receive the update notification as soon as it’s out.

      Cheers

  43. Hey,

    if a user is in several groups, is it possible to show ALL the files the user has access to on one page?

    For example like [groups_file_link]

    1. Hi Daneil,
      you can use the [groups_file_link] shortcode with the ‘groups’ attribute, some thing like this: [groups_file_link group="*" /]
      Kind Regards,
      Antonio B.

  44. It appears the plugin is not handling hierarchical groups properly.

    Example:

    I have four groups called CARS, VW, HONDA, and GM. GM, VW, and HONDA are all subgroups of CARS which mean if a user is a member of HONDA they should also have access to files available only to CARS.

    Groups handles this well for post content protection, but I just noticed that file downloads do not inherit permissions. I had to explicitly add a user to both HONDA and CARS so that they could access a download that required membership in CARS.

    I tried to log into your demo site to reproduce the issue. Please let me know if this is a known issue with version 1.6.1

    Thanks!

    1. Hi Andrew,
      Right now hierarchical is not available. We are working on an update to add this feature. We hope to have it for next week.
      Kind Regards,
      Antonio B.

  45. A correction- no large files download correctly in ANY browsers on ANY platform (which is better because it’s consistent). Browsers that appeared to be functioning correctly were in fact only creating 0kb files.

    1. Ok thanks for the update, we’ll have to take a look at this with debugging enabled.

      1. Thanks, Kento. I have sent you additional details and logins via email.

  46. I posted this on Friday, but I don’t see it yet on this page, nor have I received a response. This is a troublesome issue that is causing my client a lot of problems. Please advise, thank you. I can provide proof of purchase upon request.

    Issue:

    Large files (greater than a few MB) do not download correctly in browsers other than Chrome on all platforms and Edge for Windows 10. Small files download correctly in all browsers.

    Symptoms:

    MacOS:

    Pause, then error: “Safari can’t open the page [url] because the server unexpectedly dropped the connection, This sometimes occurs when the server is busy. Wait a few minutes, and then try again.”

    Firefox spins indicator, nothing happens. No messaging.

    Windows 10:

    Firefox spins indicator, nothing happens. No messaging.

    Window 7:

    Firefox does not download.

    Solutions attempted with no results:
    • disabling and reenabling the plugin
    • disabling and reenabling mime file-type
    • Increasing available RAM and transfer allowance of Digital Ocean droplet
    • adding php.ini file to root directory
    php.ini set to:
    upload_max_filesize = 400M
    post_max_size = 401M
    max_execution_time = 300

    1. Hi Adam,

      Sorry for the delay, I just saw your post. Could you please contact us via support at itthinx dot com providing temporary admin and FTP access so we can check your settings and run a few tests?

      Thanks!

  47. A year ago I had to buy a new version of my Group Files access plug in as none of the links in my web-site would work when WordPress was updated. Now exactly the same thing has happened. Am I going to have to buy a new plug in every year?

    1. Hi Karen,
      Our plugins are distributed under these terms & conditions. Usually wordpress changes in a year do not usually make previous versions of plugins incompatible, but it really does not depend on us.
      Kind Regards,
      Antonio B.

  48. Hi,

    I’ve bought it in 2015 and use it only one time.
    Today I would like to use it again, but I’ve got a question.
    There is possibility to be notificated when a user download a file.
    There is a way to optain a list (csv, xls, txt, ..) of the downloaded files and user name ?
    Thanks 😉
    Mick

    1. antonio Avatar

      Hi Mick,
      From the settings you can enable administrator notifications ( http://tinyimg.io/i/1KSzYxE.png ), sorry, the documentation page is not updated.
      Related to lists, sorry, this option is not available.
      Kind Regards,
      Antonio B.

  49. calvin choi Avatar
    calvin choi

    I would like to know how to login the demo site?
    https://demo.itthinx.com/gfa/

    What is the username and password?

    I have tried to register, but no confirmation email sent to my email account

    1. antonio Avatar

      Hi Calvin,
      You can create your own account. In the demo site, some files are restricted to registered users, so you can see how this works.
      Kind Regards,
      Antonio B.

  50. lamiki Avatar

    I’m looking for a plugin that prevents direct download of pdf files that users store in the library. They alone must be able to access it. Does this plugin allow this?

    1. antonio Avatar

      Hi lamiki,
      yes, with this plugin you can restrict files only to the users who are in a group.
      Kind regards,
      Antonio B.

Leave a Reply

Your email address will not be published. Required fields are marked *

Share