Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/29/2016 in all areas

  1. JqueryFileUpload This module is a ProcessWire implementation of the awesome Blueimp jQuery File Upload plugin. Server-side, the module provides a custom uploads' handler enabling you to perform various tasks with ease. The module is an interface of the feature-rich Ajax File Uploads widget provided by the jQuery File Upload plugin. The module is completely customisable and can be used both in the front- and backend (e.g. in a third-party module). Please read the README carefully and completely before using the module Release Status: Stable. Module Download: http://modules.processwire.com/modules/jquery-file-upload/ Issues tracker Project page: GitHub Security The module has been written with security in mind and makes no assumptions about any client-side validation. Instead, the module provides robust server-side validation of uploaded files. Server-side, no Ajax requests are honoured unless specifically set via configurable options server-side. This means that client-side requests to upload, delete and list files are not executed unless allowed server-side. By default, files are uploaded to a non-web-accessible (system) folder and files previously uploaded on the server are not sent back for display unless that setting is enabled. However, developers are still strongly advised to implement any other feasible measures to guard against malicious uploads, especially if allowing frontend uploading. For instance, developers can use native ProcessWire checks to limit access to the widget (e.g. only allowing uploads by registered/logged-in users). Demo A short video demo can be found here (and below )(CSS is WIP! ). In the backend, you can see it in action within the (upcoming) module Media Manager Features Fast Ajax uploads. Client and server-side validation. Client-side image resizing (highly configurable options). Beautiful touch-responsive image gallery preview. Audio and video previews pre-upload. Chunked and resumable file uploads (currently client-side only; server-side handling planned). Drag and drop support. Copy and paste support (Google Chrome only). Progress bars. Cross-domain uploads. Single or multiple uploads. Delete uploaded files. Documentation On GitHub. Have a look at the long list of available options. License Released under the MIT license @Credits: Sebastian Tschan @Thanks: Pete and BernhardB for the idea. Please test and provide feedback. Thanks!
    23 points
  2. This week we’ve got some great new optimized methods added to the $pages API variable, plus full link abstraction now built-in, new sub-selector upgrades, and more! http://processwire.com/blog/posts/processwire-3.0.6-brings-pages-upgrades-and-link-abstraction/
    12 points
  3. Is it namespaced PW? (3.05) If so, try ProcessWire\wireRenderFile...
    3 points
  4. Thank you Ryan! You are churning out the awesomeness at an astounding rate. Thanks to Antti/Avoine for suggesting the nested sub-selector improvements, I'm looking forward to refactoring a few clunky queries once I can officially move to PW 3.
    2 points
  5. There is a lot of places this have been discussed in the forums. If you want to know what others are using you can check something like: https://processwire.com/talk/topic/1576-css-template-framework/ https://processwire.com/talk/topic/5948-dead-simple-grid/ ...or about anything here. On that materialize thing... Can't tell for sure, but it looks quite similar to bootstrap and is probably some kind of derivative. If use Sass anyway, I prefer Susy 2 as it is almost completely customiable.
    2 points
  6. Looks like I have tried to help someone with a similar situation before and they ended up using WireUpload: https://processwire.com/talk/topic/5490-hook-for-wireupload-filename-images/?p=53997 Does that help?
    2 points
  7. This line looks fishy, likely to create an infinite recursion (though assigning a page to its own page field shouldn't be possible normally): $pageModel->set("mapped_car", $pageModel); The second $pageModel in that line should probably be $pageCar.
    2 points
  8. If you are going to shamelessly self-promote, you should at least provide a link to Media Manager: https://processwire.com/talk/topic/11224-media-manager/
    2 points
  9. Glad you found a solution by placing under admin, but if you want, here is a tested option. Place this in your admin.php - just replace the xxxx with the id of the Settings page. With this the autocomplete won't return any pages under Settings. $this->pages->addHookAfter('ProcessPageSearch::executeFor', null, 'removeBranchFromSearch'); function removeBranchFromSearch($event) { $response = $event->return; $responseArray = json_decode($response, true); $matches = $responseArray['matches']; $i=0; foreach($matches as $match) { if(wire('pages')->get($match['id'])->is("has_parent=xxxx")) { unset($matches[$i]); } $i++; } $responseArray['matches'] = $matches; $event->return = json_encode($responseArray); }
    2 points
  10. Great interview! This is pretty darn important, and is probably one of the most important things that sets PW apart.
    2 points
  11. Fresh from the oven!! http://www.cloudways.com/blog/processwire-ryan-cramer-interview/ Now I will read it Edit: Already did. Congratulations for another great interview Ryan!
    2 points
  12. PrevNextTabs Module Github: https://github.com/outflux3/PrevNextTabs Processwire helper modules for adding page navigation within the editor. Overview This is a very simple module that adds Previous and Next links inline with the tabs on the page editor. Hovering over the tab shows the title of the previous or next page (using the admin's built in jqueryUI tooltips.) Usage This module is typically used during development where you or your editors need to traverse through pages for the purpose of proofing, flagging and/or commenting. Rather than returning to the page tree or lister, they can navigate with these links. Warnings If you are using PW version 2.6.1 or later, the system will prevent you from leaving the page if you have unsaved edits. For earlier versions, to avoid accidentally losing changes made to a page that might occur if a user accidentally clicks on one of these, make sure to have the Form Save Reminder module installed. http://modules.processwire.com/modules/prev-next-tabs/
    1 point
  13. Modalception for ProcessWire GitHub: https://github.com/thetuningspoon/AdminModalception Direct Download: https://github.com/thetuningspoon/AdminModalception/archive/master.zip Modalception improves the usability of ProcessWire's modal dialog/popup windows when opened from within another modal window. The parent window is expanded to take up the full screen behind it so that additional modals can be opened without the inner windows becoming progressively smaller and less usable. The outer windows' toolbars are hidden from the user to help reduce confusion. * Screencap also features the Page Field Edit Links module
    1 point
  14. I'd like to thank LostKobrakai for this excellent tutorial included in the Dec 25, 2015 blog post regarding custom page types. If you haven't read it yet, please do so. It is contributions like this by the senior members that prove selecting ProcessWire was the correct decision for this ProcessWire-Newbie. I am impressed at what I have learned within the functionality of ProcessWire, and discovering avenues I hadn't yet thought about. It is indeed a merry Christmas. I also want to thank all staff members. They deserve our gratitude for the time they dedicate to helping us learn ProcessWire, and the many avenues available with each project. For example, kongondo contribution is another great example of the team in place here. My hat is off to Ryan and his team for giving of their time and sharing their knowledge. In addition to the regular staff, there are many members, such as Kixe, Tom, (and too many others to name them all here) that also deserve recognition for their contributions and assistance. It is greatly appreciated. I am certainly looking forward to ProcessWire 2016 ;-)
    1 point
  15. I noticed that uikit is becoming popular lately. Even Ryan is fond of it. As far as I have played with it, I find it worth to invest time in. http://getuikit.com/ For small projects I always use pocketgrid. Here you find more in the forum: https://processwire.com/talk/topic/3791-things-to-read-about-css-frameworks/page-2 https://processwire.com/talk/topic/1576-css-template-framework/ https://processwire.com/docs/tutorials/installing-a-css-framework/ https://processwire.com/talk/topic/4572-pure-a-set-of-small-responsive-css-modules-that-you-can-use-in-every-web-project/
    1 point
  16. My pleasure. I also had a few headaches with devns in my latest project but finally all seem to work fine.
    1 point
  17. Ok, I just tested (got my own mapquest api key) and am getting the same error as you - this is something that will need to be dealt with before PW tries to sanitize the file - there is no file extension, so it doesn't know what it is. Either way, the error is coming before CUN gets a look in, so it won't help in this case. You could use wireUpload I guess, or maybe hook in earlier - perhaps Pagefile::filename - I'll keep digging.
    1 point
  18. There is a method called setTargetFilename($filename), maybe this does the trick? (not tested, just one look inside the WireUpload class)
    1 point
  19. Maybe something like this first, then you use PW API after that?
    1 point
  20. @OllieMackJames, I just double-checked. I'm also on 2.7.3, and I am still seeing reductions between 35% and 50% depending on the image.
    1 point
  21. Last major feature has been implemented, so a couple of more testing and its ready. Done. See it action here.
    1 point
  22. If someone does need feature x of y he can nowadays just pull in the composer package y-x anyways, at least most of the time.
    1 point
  23. Using your own two or three character prefix (plus _ or -) to name identifiers can be of help no matter what system we use (css, php, js, etc...). This way it is also easy to tell what belongs to your code and what not. It helps in this issue, but also helps others dealing with your code. Sure, the practice of prefixing is not a bulletproof solution, but it is unlikely that one runs into this issue when sticking to it.
    1 point
  24. ^ yup. It does confuse people when we say we're not making a concerted effort to compete with other systems, but I think doing our own thing means we can stand back and consider what the user base really will find useful instead of chasing all the features in system X. If gives you a lot of freedom doing it this way.
    1 point
  25. Yeah, same here. Wanted to switch over to phpstorm for better code insight, but: There are packages for that, and If an IDE takes longer to start up that Windows does on an i7, then I'm not interested.
    1 point
  26. Man - you aren't just on fire at the moment, you are ablaze Nice work - I have used Blueimp on some other projects pre-PW and loved it, so thank you!
    1 point
  27. Thanks for your little tut kongondo! This time I created the branch using github.com, I'll dig into this a little later. So now there is a devns branch for those using PW3. master should work with PW3 too thanks to FileCompiler, but I haven't tried it yet..
    1 point
  28. Just stumbled upon a failing field name, too. In PW3 "files" is reserved, as not only those names from LostKobrakai's mentioned array are considered reserved, but everything in $wire too. https://github.com/ryancramerdesign/ProcessWire/blob/master/wire/modules/Process/ProcessField/ProcessField.module#L1439 and in PW3 there's WireFileTools class which populates $files
    1 point
  29. I see that contents are cloned into a div by PW but original classes are not kept (using option A). Copying over the original classes to the ".pw-edit-orig" div could help keeping the original design and it would be easy to implement using jQuery. On edit the formatting are gone but after save they are back, so imo it would be a step forward - messing up the original design could be stressful for the client.
    1 point
  30. Does twiddling with the template's "Use compiled file" option help?
    1 point
  31. It's on the way: https://github.com/ryancramerdesign/ProcessWire/pull/1646
    1 point
  32. Stillllllllllll rockin good ole SublimeText. How boutchoo??
    1 point
  33. Here's what solved the problem for me. Left page original settings of the auto generated publish fields, right page are my modification of the settings. no more "hh" and "ss" strings and the page scheduling works now so maybe for some reasons time formating options that need to be choosen was missed by the auto generated post_from/post_until fields, which i did'nt touched since creation.
    1 point
  34. Hello PW-friends! Let me share some thoughts re roadmap that emerged together with the development of mymechanic.ru site (currently 8K clients/30K visits per month). Initially it was a simple "info" site and PW was ideal for it, but when business has grown, I start to miss some functionality. I understand that this functionality may not be necessary for current PW sites or even PW concept, but anyway I would be grateful if you could share thoughts on the following: 1. simultaneous page editing capability. There are several roles that work with page and I have to remind them about queue in order to ensure that edits are saved properly. It is not effective. To unlock the capability, all fields and even admin layout should be able to update in "real-time" as soon as there are changes at server. Also there should be field-level lock/sync mechanism. I guess it is big core code refactoring. 2. event-driven admin (page editing, etc). With observers, controllers, routers etc - all you need when you develop frontend SPA. Of course, this can be done w/o PW internal features but I see great opportunity here for PW. By the way, check this framework - http://riotjs.com/ I believe it aligns well with PW ideas of best performance and simplicity. ​3. advanced filtering in listers. E.g. the dream is filters like this: {myfield1.subfeild1.subfield1.date1} > {myfield2.subfeild2.subfield2.date2} - with indefinite levels depth, fully customizable on left and on right sides of condition, even with PHP snippets option. It is something that actually I haven't seen anywhere else - something really unique and powerful. I also have some other thoughts but I don't want to overload. These are top-3 in my mind. Thanks.
    1 point
  35. Depending on how you have the page field configured remember that you might need first(): $page->sideBarURL1->first()->url;
    1 point
  36. I would like to include my thanks too, LostKobraKai, Kongondo, Adrian, Ryan and all the others i can't name now. This forum's great for newbies like me. It can be really overwhelming and irritating to code sometime, but in the end you always get there with the help of the generous staff-members. Thanks again! All the best Jakob
    1 point
  37. (Sorry, couldn't resist. English is such a wonderful language, don't you think?)
    1 point
  38. Hey all, I'm on this. I actually never noticed it worked that way because my installs had the page set to published, so it showed in the list of children. For now, the temp fix is to un-hide the tree page.
    1 point
  39. Never knew you could double click it... Still I don't like it.
    1 point
  40. Hey Reno, with the new update removing the tree. The only way to access the page tree is by clicking the ProcessWire logo. It took me a while to figure this one out as I always went to Pages > Tree. With Pages > Tree now missing it might be worth doing: I know it's not as visually appealing so you may have a better idea Reno.
    1 point
  41. A ProcessWire version is needed here: https://github.com/deployphp/deployer/tree/master/recipe
    1 point
  42. Hi Ivan, nice catch. I made that change. I'll sent a PR to Ryan in the next few days so he can include an updated version of Reno in the core. In the meantime, you can update your copy. Just swap out the renderTopNav() method in AdminThemeRenoHelpers.php public function renderTopNav() { $items = array(); $class = ''; $user = $this->wire('user'); $config = wire("config"); $adminTheme = $this->wire('adminTheme'); $fieldName = "avatar_field_" . $user->template->name; $adminTheme->$fieldName != '' ? $avatarField = $adminTheme->$fieldName : $avatarField = ''; $avatarField != '' ? $imgField = $user->get($avatarField) : $imgField = ''; $avatar = "<i class='fa $adminTheme->profile'></i>"; // View site $items[] = array( "class" => "", "label" => "<i class='fa {$adminTheme->home}'></i>", "link" => $config->urls->root ); // Search toggle $items[] = array( "class" => "search-toggle", "label" => "<i class='fa fa-search'></i>", "link" => "#" ); // Superuser quick links if ($this->user->isSuperuser()){ $items[] = array( "class" => "superuser", "label" => "<i class='fa fa-bolt'></i>", "children" => array( "<i class='fa fa-life-ring'></i> " . $this->_('Support Forums') => array('http://processwire.com/talk/', 'target="_blank"'), "<i class='fa fa-book'></i> " . $this->_('Documentation') => array('https://processwire.com/docs/', 'target="_blank"'), "<i class='fa fa-github'></i> " . $this->_('Github Repo') => array('https://github.com/ryancramerdesign/ProcessWire/', 'target="_blank"'), "<i class='fa fa-code'></i> " . $this->_('Cheatsheet') => array('http://cheatsheet.processwire.com', 'target="_blank"'), "<i class='fa fa-anchor'></i> " . $this->_('Captain Hook') => array('http://processwire.com/api/hooks/captain-hook/', 'target="_blank"'), ) ); } // Avatar field for user information if ($imgField != '') { $class = 'avatar'; count($imgField) ? $img = $imgField->first() : $img = $imgField; $userImg = $img->size(52,52); // render at 2x for hi-dpi (52x52 for 26x26) $avatar = "<img src='$userImg->url' alt='$user->name' />"; } // User information and logout link. Check for profile-edit permission below. $userItem = array( "class" => "avatar", "label" => "$avatar <span>" . $this->getDisplayName($user) . "</span>", "children" => array( "<i class='fa $adminTheme->signout'></i> " . $this->_('Logout') => $config->urls->admin . "login/logout/" ) ); // if user has profile-edit permission add and edit link to the userItem['children'] array. if ($this->user->hasPermission('profile-edit')){ $profileEditLink = array("<i class='fa fa-user'></i> " . $this->_('Profile') => $config->urls->admin . "profile/"); $userItem['children'] = array_merge($profileEditLink, $userItem['children']); } // add the userItem to the menu $items[] = $userItem; return $this->topNavItems($items); } I'm not sure about the translation issue. I will try to look into it later today.
    1 point
  43. Thanks for the suggestion and the link, Pete, so far our front-end search needs were limited to the title field, but this is going to change soon as lots of social features are being implemented, so I will definitely need to learn all about the cache fieldtype. enricob, the site is currently in open beta and lacking some functionality and server tuning we want to have in place before sharing (especially as an example of what PW can do). A lot of new features are still being implemented and hopefully the site should be well-tested and ready to showcase within about a month. I am eagerly looking forward to posting a case-study about it in the forums then, and will drop you a note as a heads up.
    1 point
  44. @GuruMeditation if you are looking for the simplest possible solution, your best bet is to hide the fields you don't want displayed to users with CSS: .CommentFormCite, .CommentFormEmail { display: none; } If you want to go further than that, then you might be better off copying the comments modules to your /site/modules/ and modifying them as you see fit. The comments form is isolated to its own class, called CommentsForm, which you can extend or modify directly. In order to only display the comments form if the user is logged in, you would just wrap the renderForm() call around a conditional that checks if the user is logged in. // render comments list echo $page->comments->render(); // render comments form only if user is logged in if($user->isLoggedin()) echo $page->comments->renderForm();
    1 point
  45. Hi. (My first post in this forum after creating my first site with Processwire ) Only to let you know that the u-nikos's nginx configuration works perfect with Processwire 2.4 I think you can add "official" support and link to his comment for the configuration. I had doubts about how difficult it would be at the beginning and maybe there are people in the same position without knowing that it's really easy to make it works. I'll work a little more with nginx caching (or microcaching). I'll let you know if I do some advances in this area. Best
    1 point
  46. Is this a question of preference or does Firebug still do something that Chrome dev tools don't and/or do something way better? Asking mostly out of sheer curiosity, as I've dumped FF+Firebug long time ago myself
    1 point
×
×
  • Create New...