Jump to content


  • Posts

  • Joined

  • Last visited

Recent Profile Visitors

2,435 profile views

modifiedcontent's Achievements

Sr. Member

Sr. Member (5/6)



  1. @Rudy, thanks for the idea. I tried this, but it didn't make any difference, even after clearing caches etc. Edit: I figured it out. In the script I "called" the API with this: $initAuth = new ApiAuth(); When I should have used: $initAuth = new Mautic\Auth\ApiAuth(); To "declare" (?) the namespace.
  2. I am trying to connect with an external API, from marketing automation application Mautic on the same server, from a template in Processwire, with something like this: require '/serverpath/vendor/autoload.php'; use Mautic\Auth\ApiAuth; use Mautic\MauticApi; $initAuth = new ApiAuth(); This works in an empty test page outside of Processwire. Trying to use it from a template within Processwire I get this error: How can I make sure the script looks for Mautic's ApiAuth in the correct place? Mautic's autoload.php is included in the page successfully; I have checked that.
  3. I don't think my template code has anything to do with it. Here is a minimal version of the template that still has the same problem: Not only ""/>" is inserted in the html output. When I add a link to my $page->summary field, all the text after the <a href=...> opening tag is copied (?) and inserted after the body tag with most of the head including <title>. I say copied, because the block of text with URL also appears in the correct place. When I remove the link from 'summary', everything looks as it should, no crap inserted after the body tag. Edit: I found it. I had the following in head: <meta name="description" content="<?php echo $page->summary; ?>" /> That works fine with plain text, but breaks when you add html like a URL to the summary field. Or is there a proper way to filter it for meta content?
  4. Adding a URL in a textarea field leaves a random ""/>" in my html output, like: "" /> " Has anyone else seen something like that? What could cause this? Turning off experimental HTML OPTIONS did not fix it.
  5. Uninstall of this module doesn't work: I only installed it, because module refresh gave a warning about a missing file from NewsletterSubscription - probably left-over from another install/uninstall attempt long time ago. Is there another safe way to remove/uninstall modules?
  6. Thanks @ukyo, but what is that supposed to do? I plan to have my custom files in templates/forms. What difference would putting them in templates/extend or site/src make? Why site/src - is adding folders outside templates a good idea? Those classLoader lines apply to the entire folder, not a specific file? Are the general principles how to work with classes and customize modules in Processwire explained anywhere? I haven't been able to find it. This produces a result: CommentListCustom.php copied from the wire module into my templates/inc folder. The custom file is now used to display the comments. I can now make edits in that file to somehow change {cite} to the commenter's full name. Wtf is {cite} anyway? It's not a PHP variable. How is it defined? How can I redefine it? I can't do something like {cite} = $users->get({cite})->fullname; What syntax should I use? What rules apply to these {something} "thingies"? Why does this produce Fatal Error Uncaught Error: Call to a member function get() on null? This seems to work though: For the form it works the same of course: Then make edits in CommentFormCustom.php as required. In my case I added 'hidden' to the cite and email input fields, so logged-in users only get a text field, don't have to enter any other info - the module enters logged-in user name and email in the hidden fields if you remove/turn off all the cookie stuff. Two next issues to solve: 1. Is the upvote/downvote system cookie-based? What would it take to turn that into logged-in user ID-based? Or is that the default if I turn off cookies/remove cookie javascript? 2. Users will expect a way to delete and edit their comments. Has anyone done that? Suggestions welcome.
  7. I can't figure this out. I have added a comment.php file in my templates/forms folder with the following: With this in the page's template: This doesn't do anything - the echo from comment.php doesn't show up anywhere. I am not an experienced/full-time PHP programmer. It is not obvious to me what is going on in these scripts. @ukyo, what does '// do your customizations ' look like? Could you or anyone else give a basic example? Should I copy entire functions from CommentForm.php or CommentFormCustom.php (?), change a few things within those functions and then those customizations will replace the functions in /wire? Should I rename the functions? Or does whatever I put in '// do your customizations ' run after CommentForm.php in /wire - adding not replacing? I also tried to follow the instructions in CommentFormCustom.php, but did not understand any of it. I've copy/pasted different parts and functions from that file into my custom comment.php, but could not get a result with anything. Continuing with this tomorrow... Any hints very much appreciated.
  8. Thanks @ukyo. I'll try this in my next steps. In the meantime I have found out why my threaded comments - 'Reply Depth' etc. - didn't work. Threaded comments relies on jQuery in comments.min.js in wire/modules/Fieldtype/FieldtypeComments/ I load jQuery in my head with these lines: I think Processwire has jQuery "built in", but have always been confused how to use it. When I just remove my lines from head, all my jQuery breaks. If I already have jQuery in my site, why doesn't the jQuery in the module work? Does Processwire require a specific version of jQuery? The module's jQuery works fine when I copy it from comments.js to my template and replace jQuery with another var: I have also removed all the cookie stuff from the module's javascript. I think without it the comment form name+email fields are prefilled with data from the logged-in user, which is what I needed. Is there a way to add the Reply link with the foreach($page->comments as $comment) method? If not, I'll figure something out with @netcarver, @flydev 👊🏻 or @ukyo's suggestions - thanks!
  9. Thanks @netcarver. So 'presets' is an array somewhere that contains 'cite' and other things? Username is OK for the comment form, because comments will only be open to logged-in members. The module enters the logged-in users name and email address, so I can just hide those fields - or is there a way not to require them at all? The updated second method in my original post also produces the result I want, minus the Reply link. That Reply link doesn't seem to do anything special anyway; comments are all created on the same level, Comment1, Comment2, Comment3. I am now mostly puzzled by how to make threaded comments work - 'Reply Depth', reply-to-comment. Edit: Another problem; where does the module get the name + email address that are prefilled in the comment form? They are not consistently the name + email from the logged-in user as I assumed. When I test logged-in with different accounts, only the name + email of the first account I tested with show up in the comment form. Is there a way to just let the comment form take the name + email, or just ID, of the logged-in user? Edit 2: Javascript sets a persistant cookie for whoever posts a comment? I guess I should replace that with Javascript that enters the logged-in user's name+email then. Or is there any way via PHP without editing the module core files?
  10. Render Comments with options is this: {cite} inserts the username. I want to display the commenter's Firstname Lastname instead - I have a field for that called 'fullname'. Where is {cite} defined? How can I change it? This should be functionally the same (?) and would give me control to define and change lots of stuff, including "cite" and adding profile picture etc.: But with this, the 'Reply' link is missing from the comment. How can I add that 'Reply' link and make sure those replies-to-comments or replies-to-replies-to-comments are stored in the proper way? Or will that get me into a hopeless mess and should I just stick to the render method with a simple way to make {cite} render the full name instead of a username? edit: I see the comments just end up on the same level anyway, with either method - Comment1 Comment2 Comment3. 'Reply Depth' is set to '2' in the Comments field settings. Does threaded comments not work?
  11. Thanks @kongondo . I redefined the $user variable in my login script, causing the error further down. Dumb mistake, easily fixed by changing to $username or something like that.
  12. Another very dumb basic question; what could this error mean? Followed by a whole bunch of file addresses. Can someone translate this error; what should I check? I am troubleshooting a custom login/register system. I get this error when I enter gibberish in the username login field to produce a nice 'wrong username or password' message. A 'forgot password' form on the same page, not displayed while logging in, gets the 500 Internal Server Error.
  13. Thanks @netcarver. I could not figure out how to use that ProcessForgotPasswords module. There were no instructions anywhere. It looks like it depends on other modules or assumes your login/register process is structured a certain way. Thanks for the other suggestions. Replacing md5() was going to be next.
  14. The modules don't really work for me. I have a custom login and registration process directly in template files and just want to add password reset. I don't need admin etc. The following works: My PHP knowledge is very limited - I don't understand namespace, hooks, etc. etc. I have to start from a basic proof-of-concept and then improve on that as needed. Are there obvious mistakes in the code above? Obvious security risks? The process is really slow; it takes forever after clicking submit to find the user in the database. Could the code be more efficient? Any comments / suggestions much appreciated.
  • Create New...