Skip to content

Instantly share code, notes, and snippets.

View somatonic's full-sized avatar

Philipp Urlich somatonic

View GitHub Profile
@somatonic
somatonic / HiddenAdminPages.module
Last active June 18, 2018 13:27
Hide page in the admin per user per page/branch
<?php
/**
* UserWorkspaces
*
* Example module to hide page in the admin per user per page.
*
* ProcessWire 2.x
* Copyright (C) 2010 by Ryan Cramer
* Licensed under GNU/GPL v2, see LICENSE.TXT
@somatonic
somatonic / RandomImages.module
Last active December 17, 2015 06:49
get random images across pages optimized
<?php
/**
* Example use:
*
* $helper = $modules->get("RandomImages");
* $image = $helper->getRandomImages(1,"images");
* echo "<img src='{$image->size(150,0)->url}'>";
*/
@somatonic
somatonic / form-builder-html5off.php
Last active December 16, 2015 14:40
turn off html5 validation in form builder
<?php
// in form-builder.inc
$forms->addHookBefore('FormBuilderProcessor::render', null, 'hookRenderForm');
function hookRenderForm(HookEvent $event) {
$processor = $event->object;
$form = $processor->getInputfieldsForm();
$form->attr('novalidate', '1');
}
@somatonic
somatonic / paginator.php
Last active March 22, 2016 01:46
manual pagination example for in memory page arrays
<?php
/**
* include paginator class from ProcessWire core, $config->paths->Modulename can
* be used to get the path of any module in PW.
*/
require_once($config->paths->MarkupPagerNav . "PagerNav.php");
/**
@somatonic
somatonic / form_with_fields_in_table.php
Last active August 29, 2016 13:52
form with fields rendered in a table example
<?php
/**
* Example form using PW API
*
* A workaround to get fields display in a table
* Those fields are marked with a property added to the fields $field->tablerow
*
* Approach is to grab those fields after form is put together and maybe processed,
* loop each row and render out the fields along with possible errors and add it to a string variable $table
* while we remove the field from the form at the same time.
@somatonic
somatonic / repeater_example.php
Last active September 24, 2021 12:19
example repeater creation and save front-end form
<?php
$mypage = $pages->get("/about/");
if($input->post->submit){
$n = 1;
$title = "element_title_$n";
$url = "external_url_$n";
$mypage->setOutputFormatting(false);
@somatonic
somatonic / inputfieldfile-form.php
Last active March 31, 2023 01:14
ProcessWire front-end upload form example using ProcessWire Inputfields and form processing.
<?php
/**
* ProcessWire (2.5) InputfieldFile front-end upload form example
* Various workarounds to get it working with Errors for WireUpload
* and removing files upload after error
*/
$sent = false;
$upload_path = $config->uploadTmpDir;
@somatonic
somatonic / form-process.php
Last active May 24, 2023 18:26
ProcessWire example front-end form with file upload and fields
<?php
// ------------------------------ FORM Processing ---------------------------------------
$errors = null;
$success = false;
// helper function to format form errors
function showError($e){
return "<p class='error'>$e</p>";
@somatonic
somatonic / AddPageFieldProperty.module
Last active December 14, 2015 23:29
add page field as property to page example
<?php
/**
* ProcessWire AddPageFieldProperty demonstration module
*
*
* ProcessWire 2.x
* Copyright (C) 2010 by Ryan Cramer
* Licensed under GNU/GPL v2, see LICENSE.TXT
*
@somatonic
somatonic / language_switch.php
Last active December 14, 2015 18:39
language switch for LanguageLocalizedURL module example
<?php
/* somehwere in the top of your template code */
// save current user language
$user_lang = $user->language;
// get the language name example
$curr_langname = $user_lang->name == 'default' ? 'en' : $user_lang->name;