Skip to content

Instantly share code, notes, and snippets.

Philipp Urlich somatonic

Block or report user

Report or block somatonic

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
somatonic / PageAddableHook.module
Last active Aug 29, 2015
Example module to modify/remove page "addable" permission for pages with level greater than one and basic-page template
View PageAddableHook.module
* ProcessWire example demonstration module
* Page::addable hook module, once installed will set permission "addable" to false
* for pages using basic-page template and with level greater than 1
class PageAddableHook extends WireData implements Module, ConfigurableModule {
somatonic / HelperFieldsLanguageLabel.module
Created Mar 13, 2014
Adds a method to get lanugage label from a field with $fields->getLangLabel("body")
View HelperFieldsLanguageLabel.module
* ProcessWire module
* Example Fields Language Label Helper
* Gets the language value of a field label for the current user's language
* Once Installed it will add a new method to fields
somatonic / TextareaStripNbsp.module
Created Apr 9, 2014
Fix TinyMCE &nbsp chars, leaving those without a space in front intact
View TextareaStripNbsp.module
* TinyMCE replace nbsp with regular whitespace
* Only nbsp preceeded with a whitespace will get replaced, this leaves
* single non breaking space only bewtween words
* ProcessWire 2.x
* Copyright (C) 2012 by Ryan Cramer
somatonic / MyPageTableHooks.module
Last active Aug 29, 2015
Example InptfieldPageTable hook module to remove "Add New" button on a condition
View MyPageTableHooks.module
* Example Hooks to hack InputfieldPageTable to not render add buttons on a condition
* This will remove "add new" buttons if there's more than 2 entries
* - First addHookBefore InputfieldPageTable::render to count the value (table rows)
* - If value is greater than 1, we hadd another hook to InputfieldButton::render (used by page table for the buttons)
* and overwrite it with an empty string.
* - Add another hook after page table render to remove the button hooks, to not remove any other buttons rendered
somatonic / AddImagesFromUrl.module
Last active Aug 29, 2015
View AddImagesFromUrl.module
* AddImagesFromUrl
* On a page with fields
* "add_images_url" text field
* "images" images field
* This basic example module will add the image from the url to the images field on page save.
somatonic / login.php
Created Jun 8, 2015
processwire login
View login.php
* Custom login
* ==============================================================================
wire()->addHookBefore("ProcessLogin::execute", function($event){
if(wire("user")->isLoggedin() && wire("input")->get("login")) {
View find matches example
$words = '';
$q = $sanitizer->selectorValue($input->post->q);
$words = explode(' ', $q);
foreach($words as $word) {
$word = $sanitizer->selectorValue($word);
if($word) $selectorEmergencyContacts .= "title|label_$lang*=$word, ";
View breadcrumbs.php
foreach($page->parents as $p) echo "<a href='$p->url'>$p->title</a>";
View gist:2294810
$parent = '/processwire/access/users/' . $user->name;
foreach($pages->get("/tools/categories/")->children("sort=title") as $tag) {
echo "<h2>$tag->title</h2>";
foreach($pages->find("parent={$parent}, course_categories=$tag") as $p){
echo "<a href='{$p->course_documents->url}'>{$p->course_documents->name}</a>";
View UserNameLabel.module
class UserNameLabel extends WireData implements Module{
public static function getModuleInfo() {
return array(
'title' => __('UserNameLabel', __FILE__), // Module Title
'version' => 100,
'summary' => __('Overwrite User Name Label', __FILE__), // Module Summary
'autoload' => true
You can’t perform that action at this time.