Jump to content

Jens Martsch - dotnetic

  • Content Count

  • Joined

  • Last visited

  • Days Won


Jens Martsch - dotnetic last won the day on December 2

Jens Martsch - dotnetic had the most liked content!

Community Reputation

726 Excellent

About Jens Martsch - dotnetic

  • Rank

Contact Methods

  • Website URL
  • Skype

Profile Information

  • Gender
  • Location
    Münster, Germany

Recent Profile Visitors

7,050 profile views
  1. You get access to the ListerPro forum, where you can download the latest version. Maybe message @ryan per DM so he can grant you access.
  2. Hey @ryan Just wanted to bring this to your attention: https://github.com/marketplace/actions/todo-actions Turn TODO comments inside source code into GitHub issues and closes them when they are gone.
  3. I like the design of the site, but here is some criticism too: There are german passages on the english site. For example the citation from Dr. Mark Terkessidis on the home page, or the "Suchen" button on the search page. The font in the logo is really bad to read: Fonts before sponsors logo look also bad (bad antialiasing)
  4. You might even use http://processwire-master.localhost, which is better, because I had sometimes problems when using a subfolder instead of a subdomain. Sorry, @dragan said that also in his previous post. Did not read it completely.
  5. Please add a [SOLVED] in the topic title, so people know, that an answer isn't needed anymore.
  6. Robin's idea also relates to my request "Show form inputfields according to GET parameter".
  7. Cool. I was totally unaware of this great feature. Will start using it today 🙂
  8. Here is a more detailed answer with the steps you have to take: Download the ProcessWire Zip (or use one of the other install methods) Unzip the file in your web root and rename it to the name how your project should be named Open Laragon control panel Click "reload" button for Apache This automatically creates a virtual host with the name of your folder like "processwire.dev" (I don't remember what is the default domain of Laragon, because I changed it to .localhost) You can then navigate in your browser to this URL You will see the ProcessWire installer and just have to follow the steps
  9. Laragon is the best local Webserver for Windows. Good choice.
  10. @teppo and @franciccio-ITALIANO This is exactly what I also replied here:
  11. Please follow the install instructions on https://processwire.com/docs/start/install/new/
  12. @999design To deal with pagefileSecure and existing files please take a look here: https://github.com/processwire/processwire-issues/issues/1006 pagefileSecure will only prevent access for users that don't have view permission for the template, where the file is included. You will need a view template or hook that checks if a file should be shown or not (based on dates). One problem that you have with pagefileSecure ist, that if you know the path and are logged in into ProcessWire the file is viewable/downloadable regardless of the date you set.
  13. Your development environment should have the same prerequisites as on your server. You should have a local web server like Laragon (on Windows) or Xammp installed, and also mirror/replicate the ProcessWire installation with the database from your live server. Then you can make modifications to these local files and upload them to the live server as they are. No conversion needed anymore. I would recommend you to use a translator like deepl.com if you are not very good with english, so your questions can be understood better.
  14. Under permissions is a setting where you can archive that users can only edit their own created pages. Like I answered here: To prevent page editing and listing pages in a normal lister or ListerPro I use hooks (this can be made in a custom module or in _init.php): $this->addHookAfter('ProcessPageListActions::getActions', $this, 'restrictListerEditAccess'); $this->addHookAfter('ProcessPageEdit::buildForm', $this, 'removeTabs'); $this->addHookAfter('ProcessPageEdit::buildForm', $this, 'restrictEditAccess'); public function restrictEditAccess(HookEvent $event) { // don't do this for superusers if ($this->user->isSuperuser()) { return; } if ($this->config->ajax) { return; } // bd($event->return); $process = $event->object; $page = $process->getPage(); $form = $event->return; if ($condition !== true) { $this->error("Thou shall not pass"); //$this->removeSaveButton($form); return; } } /** * removes edit links from lister it the user has not the correct edit access * @param HookEvent $event * @throws WireException */ public function restrictListerEditAccess(HookEvent $event) { if ($this->user->isSuperuser()) { return; } $page = $event->arguments[0]; $editAccess = $this->hasEditAccess($page); // this is my own function for checking if the user has edit access, in the core there is $page->editable() if ($editAccess === false || $this->user->hasRole('someRole')) { $actions = $event->return; unset($actions['edit']); $event->return = $actions; } } /** * removes tabs in Edit form for specific roles * @param HookEvent $event */ public function removeTabs(HookEvent $event) { if ($this->user->isSuperuser()) return; $p = $event->object->getPage(); $form = $event->return; // bd($form); $fieldset = $form->find("id=ProcessPageEditChildren")->first(); if (is_object($fieldset)) { $form->remove($fieldset); $event->object->removeTab('ProcessPageEditChildren'); } $fieldset = $form->find("id=ProcessPageEditSettings")->first(); if (is_object($fieldset)) { $form->remove($fieldset); $event->object->removeTab('ProcessPageEditSettings'); } $fieldset = $form->find("id=ProcessPageEditDelete")->first(); if (is_object($fieldset)) { $form->remove($fieldset); $event->object->removeTab('ProcessPageEditDelete'); } // hide delete tab $fieldset = $form->find("id=ProcessPageEditDelete")->first(); if (is_object($fieldset)) { $form->remove($fieldset); $event->object->removeTab('ProcessPageEditDelete'); } }
  • Create New...