Jump to content
Pete

ProcessEmailToPage

Recommended Posts

Thanks Charles - glad to hear it is working well for you. 

I have another brand new version for you with a LOT of new features.

  1. You can prevent creation of pages from email addresses with host names that are not in the whitelist - great antispam option
  2. You can limit creation of pages to email addresses that match registered PW users - in this case, the ability to add the page will also be determined by the user's permissions for creating pages on the selected template
  3. You can determine whether the page should be published based on the user's page-publish/edit permissions
  4. You can set up customized email notification messages when a new pages is created, including choosing who they should be sent to.

The config settings should also help to see all the new changes. Please let me know if you find any problems with this new version - quite a bit changed. Also please let me know if you think of improvements to the logic of the way things are set up.

post-985-0-53891100-1419824414_thumb.png

Edited by adrian
Added screenshot
  • Like 3

Share this post


Link to post
Share on other sites

Hi Adrian

Thanks for all your work on this.

I've added you as a collaborator on my repo so I think you might be able to merge changes into the main repo yourself if you like?

I certainly don't see a problem with anything you've added (aside from me not having tried any of the new things out yet :)) so happy for it all to be merged.

  • Like 2

Share this post


Link to post
Share on other sites

Thanks Pete - it's been fun to work on :)

I'll update the Readme to detail the new features and merge all the changes shortly.

Share this post


Link to post
Share on other sites

Feel free to stick your name in with mine in the author attribute on the module too if you haven't already done so.

  • Like 2

Share this post


Link to post
Share on other sites

I'd like to make this work on a shared hosting account, but am not sure if it's possible.

cPanel doesn't allow me to use some characters. 

Directory paths cannot be empty or contain the following characters: \ ? % * : | " > <

Is there a workaround?

Share this post


Link to post
Share on other sites

I'd like to make this work on a shared hosting account, but am not sure if it's possible.

cPanel doesn't allow me to use some characters. 

Is there a workaround?

Sorry, I might be missing something obvious, but can you explain the issue with directory paths and why you can't use this module?

Share this post


Link to post
Share on other sites

The module seems to work fine, but..

I have tested the URL, that needs to be executed by the CRON, in the browser using the locationbar and works like a charm, but I can't set the URL in cPanel.

cPanel doesnt allow me to use the following characters (which are used in the URL): \ ? % * : | " > <

  • Like 1

Share this post


Link to post
Share on other sites

On my CPanel I have things listed as following:

curl -sS "https://yourdomain.com/?hash=0ae6cff16bc1e1ad77c2706acaf0358b2848395g" > /dev/null

This works for me.

  • Like 3

Share this post


Link to post
Share on other sites

Maybe my description was a bit off. I've added a screenshot to make things clearer.

post-120-0-53848700-1421081081_thumb.png

Share this post


Link to post
Share on other sites

Looks like you aren't doing the correct thing here. I am not very experienced with cPanel, but you don't want to be forwarding the email to the PW link. You need to set up a cronjob (from cPanel) using that format that @cstevensjr showed you. That cronjob will then periodically check the email address.

Does that make sense?

  • Like 2

Share this post


Link to post
Share on other sites

Thanks guys, it's working!  :)

@adrian, thanks for putting me on the right track. I was at the wrong one

@cstevensjr, thanks! The cron is running

  • Like 2

Share this post


Link to post
Share on other sites

In the cPanel CRON job documentation:

post-756-0-95988600-1421082388_thumb.png

In the COMMAND text box is where you enter the correct command syntax

EDIT:  You got it!  Welcome to ProcessWire.

  • Like 1

Share this post


Link to post
Share on other sites

I just opened an issue on Github regarding a configuration problem I'm having on a recent installation of this module.  It could well be operator error, on my part, however I just need some expert help and assistance.

Share this post


Link to post
Share on other sites

UPDATE

I was able to figure out where I was going wrong in this module's configuration.

For anyone who may not check Github, listed below is the resolution of the issue I opened there.

Resolution

  cstevensjr commented just now

Ok, I finally figured this out. It was a configuration problem on my webhost (Dreamhost).

My webhost uses mail clusters for outgoing mail. I've never had a problem before where I needed to list the mail cluster name for the "Host" setting. When I finally changed the setting to the mail cluster name, the Flourishlib portion worked without error.

Closing this issue

@adrian, thanks again for your quick follow-up and troubleshooting expertise.

  • Like 1

Share this post


Link to post
Share on other sites

Sorry about this Charles - I'll take a look a little later today or maybe tomorrow - I had a similar issue with CustomUploadNames which actually stole the "Add Category" code from this module. I'll probably just need to make the same changes I made to that, so should be a fairly easy fix.

  • Like 1

Share this post


Link to post
Share on other sites

Actually the issue is not what I thought - it is a recent PW dev problem. I checked a PW 2.6.1 stable site and it works fine. I am not sure what has changed in PW dev to cause this - I will need to investigate further - hopefully I can find some time in the next few days to figure it out.

EDIT: This is the PW commit that breaks things: https://github.com/ryancramerdesign/ProcessWire/commit/fd719abc6ad4dc12792592b6715f986d29af2625

  • Like 1

Share this post


Link to post
Share on other sites

Ok, it should be fixed in the latest version. This fix is only needed for PW 2.6.6+ but I think it should also work fine on older versions.

  • Like 1

Share this post


Link to post
Share on other sites

Works great!  Thank you again for this fantastic module.

  • Like 1

Share this post


Link to post
Share on other sites

I love this module, thanks :) .

All working fine but on Cpanel every time I run script is run via cron it generates an output file in the web root folder

e.g. index.html?hash\=d5c0307523750320573253247177dc.9999

Files soon build up when the script is run every 5 min!

Any way to suppress the output file (it contains an html copy of the page being updated)?

Share this post


Link to post
Share on other sites

Hi @dab,

Glad you're finding it useful. I haven't used the module on a shared host with cpanel, so I am not sure whether there is maybe some interaction going on there. I don't think I have ever seen the module itself create these files. Obviously the module responds to: http://pw.dev/?hash=4ba942b72726bbc0fa527c0c3aa69f2bc6817534 but I don't know where that index.html version is coming from.

Any chance there is a caching mechanism at play here. Maybe even ProCache? although I doubt it.

Share this post


Link to post
Share on other sites

Thanks....No ProCache running.

Most odd. I'll try & see if I can find way was causing this.

Share this post


Link to post
Share on other sites

Can't you just suppress the cron task messages by adding "/dev/null 2>&1" to the end of your cron command.

That sends the messages to null which means there aren't any messages.

Perhaps I am missing the point though?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By d'Hinnisdaël
      Happy new year, everybody 🥬
      I've been sitting on this Dashboard module I made for a client and finally came around to cleaning it up and releasing it to the wider public. This is how it looks.
      ProcessWire Dashboard

      If anyone is interested in trying this out, please go ahead! I'd love to get some feedback on it. If this proves useful and survives some real-world testing, I'll add this to the module directory.
      Download
      You can find the latest release on Github.
      Documentation
      Check out the documentation to get started. This is where you'll find information about included panel types and configuration options.
      Custom Panels
      My goal was to make it really simple to create custom panels. The easiest way to do that is to use the panel type template and have it render a file in your templates folder. This might be enough for 80% of all use cases. For anything more complex (FormBuilder submissions? Comments? Live chat?), you can add new panel types by creating modules that extend the DashboardPanel base class. Check out the documentation on custom panels or take a look at the HelloWorld panel to get started. I'm happy to merge any user-created modules into the main repo if they might be useful to more than a few people.
       Disclaimer
      This is a pre-release version. Please treat it as such — don't install it on production sites. Just making sure 🍇
      Roadmap
      These are the things I'm looking to implement myself at some point. The wishlist is a lot longer, but those are the 80/20 items that I probably won't regret spending time on.
      Improve documentation & add examples ⚙️ Panel types Google Analytics ⚙️ Add new page  🔥 Drafts 🔥 At a glance / Page counter 404s  Layout options Render multiple tabs per panel panel groups with heading and spacing between ✅ panel wrappers as grid item (e.g. stacked notices) ✅ Admin themes support AdminThemeReno and AdminThemeDefault ✅ Shortcuts panel add a table layout with icon, title & summary ✅ Chart panel add default styles for common chart types ✅ load chart data from JS file (currently passed as PHP array) Collection panel support image columns ✅ add buttons: view all & add new ✅
    • By Pip
      Hi everyone!
      I'm trying out the Login/Register module for my site. Noted that the module assigns the newly registered user to login-register role. 
      Once you modify the login-register role's permissions, particularly adding page-edit, the new member role will be set to guest. 
      Thing is I'd like to grant my new users the power to create their own pages. Any advice? 
      Thanks. 
    • By Gadgetto
      SnipWire - Snipcart integration for ProcessWire
      Snipcart is a powerful 3rd party, developer-first HTML/JavaScript shopping cart platform. SnipWire is the missing link between Snipcart and the content management framework ProcessWire.
      With SnipWire, you can quickly turn any ProcessWire site into a Snipcart online shop. The SnipWire plugin helps you to get your store up and running in no time. Detailed knowledge of the Snipcart system is not required.
      SnipWire is free and open source licensed under Mozilla Public License 2.0! A lot of work and effort has gone into development. It would be nice if you could donate an amount to support further development:

      Status update links (inside this thread) for SnipWire development
      2020-07-03 -- SnipWire 0.8.7 (beta) released! Fixes some small bugs and adds an indicator for TEST mode 2020-04-06 -- SnipWire 0.8.6 (beta) released! Adds support for Snipcart subscriptions and also fixes some problems 2020-03-21 -- SnipWire 0.8.5 (beta) released! Improves SnipWires webhooks interface and provides some other fixes and additions 2020-03-03 -- SnipWire 0.8.4 (beta) released! Improves compatibility for Windows based Systems. 2020-03-01 -- SnipWire 0.8.3 (beta) released! The installation and uninstallation process has been heavily revised. 2020-02-08 -- SnipWire 0.8.2 (beta) released! Added a feature to change the cart and catalogue currency by GET, POST or SESSION param 2020-02-03 -- SnipWire 0.8.1 (beta) released! All custom classes moved into their own namespaces. 2020-02-01 -- SnipWire is now available via ProcessWire's module directory! 2020-01-30 -- SnipWire 0.8.0 (beta) first public release! (module just submitted to the PW modules directory) 2020-01-28 -- added Custom Order Fields feature (first SnipWire release version is near!) 2020-01-21 -- Snipcart v3 - when will the new cart system be implemented? 2020-01-19 -- integrated taxes provider finished (+ very flexible shipping taxes handling) 2020-01-14 -- new date range picker, discount editor, order notifiactions, order statuses, and more ... 2019-11-15 -- orders filter, order details, download + resend invoices, refunds 2019-10-18 -- list filters, REST API improvements, new docs platform, and more ... 2019-08-08 -- dashboard interface, currency selector, managing Orders, Customers and Products, Added a WireTabs, refinded caching behavior 2019-06-15 -- taxes provider, shop templates update, multiCURL implementation, and more ... 2019-06-02 -- FieldtypeSnipWireTaxSelector 2019-05-25 -- SnipWire will be free and open source Plugin Key Features
      Fast and simple store setup Full integration of the Snipcart dashboard into the ProcessWire backend (no need to leave the ProcessWire admin area) Browse and manage orders, customers, discounts, abandoned carts, and more Multi currency support Custom order and cart fields Process refunds and send customer notifications from within the ProcessWire backend Process Abandoned Carts + sending messages to customers from within the ProcessWire backend Complete Snipcart webhooks integration (all events are hookable via ProcessWire hooks) Integrated taxes provider (which is more flexible then Snipcart own provider) Useful Links
      SnipWire in PW modules directory SnipWire Docs (please note that the documentation is a work in progress) SnipWire @GitHub (feature requests and suggestions for improvement are welcome - I also accept pull requests) Snipcart Website  

       
      ---- INITIAL POST FROM 2019-05-25 ----
       
    • By Sten
      Hello
      Till now I hacked something with the twig template but it works no more with new PW versions so I look forward to create a module. I am working on a site in multiple languages : French, English, Italian, German, Spanish, Portuguese, Hebrew, Russian. The new posts are entered in any language with a field for language. Till now, I got twig files to get the translations with constants defined for each part of the pages.
      So I'd like to create a module to include theses files added according to the url /fr/en/...
      Have you some observations to do before I begin about the direction to take ?
      Thank you
    • By ukyo
      Mystique Module for ProcessWire CMS/CMF
      Github repo : https://github.com/trk/Mystique
      Mystique module allow you to create dynamic fields and store dynamic fields data on database by using a config file.
      Requirements
      ProcessWire 3.0 or newer PHP 7.0 or newer FieldtypeMystique InputfieldMystique Installation
      Install the module from the modules directory:
      Via Composer:
      composer require trk/mystique Via git clone:
      cd your-processwire-project-folder/ cd site/modules/ git clone https://github.com/trk/Mystique.git Module in live reaction with your Mystique config file
      This mean if you remove a field from your config file, field will be removed from edit screen. As you see on youtube video.
      Using Mystique with your module or use different configs path, autoload need to be true for modules
      Default configs path is site/templates/configs/, and your config file name need to start with Mystique. and need to end with .php extension.
      Adding custom path not supporting anymore !
      // Add your custom path inside your module class`init` function, didn't tested outside public function init() { $path = __DIR__ . DIRECTORY_SEPARATOR . 'configs' . DIRECTORY_SEPARATOR; Mystique::add($path); } Mystique module will search site/modules/**/configs/Mystique.*.php and site/templates/Mystique.*.php paths for Mystique config files.
      All config files need to return a PHP ARRAY like examples.
      Usage almost same with ProcessWire Inputfield Api, only difference is set and showIf usage like on example.
      <?php namespace ProcessWire; /** * Resource : testing-mystique */ return [ 'title' => __('Testing Mystique'), 'fields' => [ 'text_field' => [ 'label' => __('You can use short named types'), 'description' => __('In file showIf working like example'), 'notes' => __('Also you can use $input->set() method'), 'type' => 'text', 'showIf' => [ 'another_text' => "=''" ], 'set' => [ 'showCount' => InputfieldText::showCountChars, 'maxlength' => 255 ], 'attr' => [ 'attr-foo' => 'bar', 'attr-bar' => 'foo' ] ], 'another_text' => [ 'label' => __('Another text field (default type is text)') ] ] ]; Example:
      site/templates/configs/Mystique.seo-fields.php <?php namespace ProcessWire; /** * Resource : seo-fields */ return [ 'title' => __('Seo fields'), 'fields' => [ 'window_title' => [ 'label' => __('Window title'), 'type' => Mystique::TEXT, // or InputfieldText 'useLanguages' => true, 'attr' => [ 'placeholder' => __('Enter a window title') ] ], 'navigation_title' => [ 'label' => __('Navigation title'), 'type' => Mystique::TEXT, // or InputfieldText 'useLanguages' => true, 'showIf' => [ 'window_title' => "!=''" ], 'attr' => [ 'placeholder' => __('Enter a navigation title') ] ], 'description' => [ 'label' => __('Description for search engines'), 'type' => Mystique::TEXTAREA, 'useLanguages' => true ], 'page_tpye' => [ 'label' => __('Type'), 'type' => Mystique::SELECT, 'options' => [ 'basic' => __('Basic page'), 'gallery' => __('Gallery'), 'blog' => __('Blog') ] ], 'show_on_nav' => [ 'label' => __('Display this page on navigation'), 'type' => Mystique::CHECKBOX ] ] ]; Searching data on Mystique field is limited. Because, Mystique saving data to database in json format. When you make search for Mystique field, operator not important. Operator will be changed with %= operator.
      Search example
      $navigationPages = pages()->find('my_mystique_field.show_on_nav=1'); $navigationPages = pages()->find('my_mystique_field.page_tpye=gallery');
×
×
  • Create New...