Skip to content

Instantly share code, notes, and snippets.

View jreviews's full-sized avatar

JReviews jreviews

View GitHub Profile
@jreviews
jreviews / custom_import_controller.php
Last active November 22, 2019 19:21
Programmatically import photos using Import Add-on classes
<?php
defined('MVC_FRAMEWORK') or die;
S2App::import('Model',['everywhere_com_content','import_listing'],'jreviews');
S2App::import('Component','import_photo_helper','jreviews');
class CustomImportController extends MyController {
var $uses = ['Media'];
@jreviews
jreviews / formbuilder_schema.json
Last active December 3, 2019 14:23
JReviews Dev Filter: Show listing images in FormBuilder field select list
{
"title": "Periods",
"type": "array",
"format": "table",
"items": {
"title": "Period",
"type": "object",
"properties": {
"day": {
"title": "Day",
@jreviews
jreviews / jreviews_overrides|filters|reciprocal_reviews.php
Created December 2, 2019 20:04
JReviews Dev Filter for reciprocal reviews in Community Builder profiles using the Everywhere Add-on
<?php
defined('MVC_FRAMEWORK') or die;
/**
* Group A must review Group B first
* Group B, can then review Group A
* Reviews automatically closed after users review each other by disabling duplicate reviews in settings
*/
function can_create_user_review_for_profile($permission, $params)
{
@jreviews
jreviews / full-width-custom-fields-mobile.css
Created December 5, 2019 21:05
CSS to display custom field labels and values in full width on mobile
/* Smartphone */
@media (max-width: 480px) {
.jrFieldGroup .jrFieldRow {
display: flex;
flex-flow: column;
}
.jrFieldGroup .jrFieldValue {
margin-left: 0;
margin-top: .5rem;
<?php
namespace JReviews\Listeners;
defined( 'MVC_FRAMEWORK') or die;
use JReviews\Listeners\Traits\ListenerSetting;
use Clickfwd\Listener\QueueableListener;
use League\Event\EventInterface;
use GuzzleHttp\Client as Guzzle;
@jreviews
jreviews / bitpixels_image.php
Last active February 25, 2020 14:05
Insert bitpixels image in listing lists, listings module and listing detail pages.
<?php
defined('MVC_FRAMEWORK') or die;
function bitpixels_thumbnail($listings, $params)
{
if ( $params['controller'] == 'com_content' )
{
$listings = [$listings];
}
@jreviews
jreviews / icon-svg-override.css
Created March 1, 2020 12:44
Override CSS font icons with SVGs
.jrIconEditor {
width: 16px;
height: 16px;
display: inline-block;
background-size: 16px 16px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%234a5568' class='w-8 h-8'%3E%3Cpath fill-rule='evenodd' d='M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z' clip-rule='evenodd'%3E%3C/path%3E%3C/svg%3E");
}
.jrIconEditor:before {
content: unset;
}
@jreviews
jreviews / cloudflare_thumbnails.php
Last active July 29, 2020 16:08
Developer filter to generate thumbnails with the CloudFlare Image CDN
<?php
defined('MVC_FRAMEWORK') or die;
/**
* Re-writes image URLs to the CloudFlare Image CDN
* https://developers.cloudflare.com/images/about/
*/
function jreviews_cloudflare_cdn_thumbnails ($attr, $params = [])
{
// Skip if thumbnails are not yet generated
@jreviews
jreviews / field-php-output-format.php
Created March 7, 2020 10:56
Show more for textarea custom fields
return '<div class="jr-show-more" data-characters="50">'.nl2br(strip_tags($text)).'</div>';
@jreviews
jreviews / close-future-event-reviews.php
Created March 8, 2020 21:20
Close reviews for future events
<?php
defined('MVC_FRAMEWORK') or die;
function close_future_event_reviews($open, $params)
{
$listing = $params['listing'];
$fieldName = 'jr_eventstartdate';
if ( !empty($listing['Field']['pairs'][$fieldName]['value'][0]) && $listing['Field']['pairs'][$fieldName]['value'][0] > date("Y-m-d H:i:s") )