-
Posts
10,877 -
Joined
-
Last visited
-
Days Won
348
Everything posted by adrian
-
Ok, having a weird issue. I am including ProcessWire from another PHP script. From this script I am saving a new PW page. Everything works except that the page is saved with created_users_id and modified_users_id as guest, rather than the logged in user. I have tried manually adding changing these fields with several variations including these, but they still contain the guest id: $page->set('created_users_id', $user_id); $page->created_users_id = $user_id; This works fine: $user_id = (int)$_GET['user_id']; $user = wire('users')->get($user_id); print $user->name so I know that $user_id is correct. Should I have to manually set the created and modified user id's in this situation? Even if I shouldn't have to, I still don't understand why I can't! Thanks for any suggestions.
-
Regarding the image resizing - it looks like CK does support it (works fine in FF), but webkit has a bug that prevents it working. TinyMCE has implemented a workaround for webkit. Here are some relevant discussions: http://dev.ckeditor.com/ticket/6668 http://drupal.org/node/1459176 http://www.tinymce.com/forum/viewtopic.php?id=29222
-
I can't reproduce the undo problem now either - sorry. I know it happened several times in a row the other day though
-
Hey diogo - cool idea and a great example of how easy it is to create a module. Looking forward to finding a little time to start creating my own soon. Thanks again.
-
Hey Pete, Thanks for the module. Just wanted to let you know of a couple of small issues. I get this error: Notice: Undefined index: allowedPagePhotoParents in xxx/site/modules/SocialTwitterUpdate/SocialTwitterUpdate.module on line 113 Also, the page parents selectors are described as "A comma-separate list" which is not really the case for the user with your ASM implementation.
-
Hey Ryan, Just started playing with this - looks very cool. Just a couple of things I noticed. CTRL/ALT+Z seems unreliable for undo. Edit > Undo from the browser menu seems ok still. This doesn't seem to be an issue with TinyMCE. Also, I don't seem to have a problem when using the demo on the CkEditor site, so not sure what the issue is. The other thing I noticed in the lack of ability to resize an image with the mouse. Seems like this option is not available (at least by default) with CKEditor, which is probably smart given that HTML resizing is a bad idea, but with PW's ability to actually resize the image on the server when resizing in the editor, it seems a shame that CK doesn't have this - can it be enabled?
-
Illegal offset error when trying to edit page through API
adrian replied to thetuningspoon's topic in General Support
Ok, not really sure what to suggest now - might need someone morre experienced with PW to step in, but when you say you can save the page so long as you don't make any changes, are you sure the page is saving? Is the modified field being updated? Can you make any other changes to the page, like change the body or other simple field? -
Are you really wanting to do this: $page->htl_idiomas = $pages->get((int)$idioma_id); Don't you want to set htl_idiomas to the value of the checkbox from the post? This is something you might find quite helpful: http://processwire.com/talk/topic/59-module-want-form-builder/?p=11639 It shows you how to automatically generate a front-end form from an existing page's fields. This will probably take care of everything for you.
-
Illegal offset error when trying to edit page through API
adrian replied to thetuningspoon's topic in General Support
I don't think "time_field" is valid. Does the following work as is? ie, does it change remove the unpublished status? $my_page = $pages->get($my_page_id); $my_page->setOutputFormatting(false); $my_page->removeStatus(Page::statusUnpublished); $my_page->save(); What does: echo $my_page->id return? Are you sure that $my_page_id is set correctly? -
Thanks Ryan, I have been trying to avoid using SQL directly in PW - just figured there was something in the API I was missing, but it seems that in some cases it will be more efficient.
-
I haven't looked thoroughly through your code, but the one thing that stands out is that you are checking for posting of btn_submit and yet your submit button is not named as such. Try this: <input type="submit" value="submit" name="btn_submit" /> That should at least get your processing section to do its thing.
-
Well it is all about variable scope. None of the PW variables (http://processwire.com/api/variables/) are available inside a php function. So you can use the wire function for any of those PW variables inside a function. If you're going to be using a variable more than once inside the function, it can be worth doing this at the top of the function: $input = wire('input'); and for any other PW variables you might need access to.
-
Thank you both for those ideas - I didn't really know about the PageFinder class, but just did some more reading about it here (http://processwire.com/talk/topic/1227-lazy-loading-of-pages/?p=10907). Seems like that could come in handy for sure. I might also just start using SQL in cases like this.
-
Thanks - I guess it's not a big deal to do it that way. I think I am just so used to using SQL to do most of the work first that the idea of returning so many results just to later throw them out seems weird
-
Is this possible? I am trying to combine results of more than one $pages->find. I know I could append the results of one to the pagearray of the other, but I want to be able to apply a limit to the combined results of both, sorted by modified, before returning the results. Thanks
-
Thanks diogo - a nice solution - I hadn't thought about the remove option. Only catch is that my find makes use of a limit selector. Obviously I can break the foreach loop after my limit requirement, but it will mean grabbing all the pages that match and then not using most of them in the foreach - just seems wasteful.
-
Hi everyone, Trying to simply find pages where the modified date is greater than the created date. I would think this should work: $pages->find("modified>created"); but no luck. Thanks for any suggestions.
-
Hi Soma - no worries - I know how you feel Basically what I am doing is creating a custom RSS feed and latest activity widget, but I only want to highlight details from certain sections of the site. I have some user edited pages, a user edited glossary, and a forum. These are the three parent pages. I ended up going with this which is a little ugly, but does the trick: $latest = $pages->find("sort=-modified, limit=30"); $items = new PageArray; foreach($latest as $lpage){ if(($lpage->rootParent=='1130' || $lpage->rootParent=='1192' || $lpage->rootParent=='1021') && ($lpage!='1130' && $lpage!='1192' && $lpage!='1021')){ $items->add($lpage); } } I actually might end up switching to a template selector as I think this will be cleaner and still achieve what I need.
-
Hey Pete - yep, I was using proper page ID numbers. I actually just tested out a has_parent using the selector test tool, with multiple pipe-separated page IDs and found that it returns every page in my system including all admin/system pages. Each of the individual page IDs on their own work as expected.
-
Thanks Soma, but using that in a find gives me array to string conversion errors. It does seem like has_parent can only be used with one page: http://processwire.com/talk/topic/1921-has-parent-issue/
-
Thanks teppo, Just a note on that SQL command. The second one has: ON version_control_for_text_fields_id__data but it should just be: ON version_control_for_text_fields__data
-
Yep, that would do it. I am still not quite always thinking in PW yet I was initially setting it up as: $latest = $pages->find("rootParent=xxx, sort=-modified, limit=10"), but in reality I want to specify more than one rootParent, so I would need the ability for "get" or "find"ing more than one anyway, which isn't possible - correct?
-
I was hoping there would be a selector called rootParent. I ended up getting all the pages that matched the rest of my selectors and then filtered them out with $page->rootParent in the foreach loop. This isn't a bad option, but causes problems when using limit in the initial selector set. Anyway, just wondering if there is a better way to do this, or if rootParent could be added as a selector. Maybe the template selector is a cleaner solution in most cases?
-
upscaling=>false not working when one dimension set to 0
adrian replied to adrian's topic in API & Templates
Hi Soma - thanks, checking for the original size of the image is definitely an option. I do think though that the upscaling=>false option should work with one dimension set to 0. However, this also seems to work: $options = array('upscaling'=>false,'cropping'=>false,'quality'=>90); $image->size(500,'',$options); As does this, which is maybe the most logical option: $options = array('upscaling'=>false,'cropping'=>false,'quality'=>90); $image->width(500,$options);